[Ruby on Rails] Feld eines Datensatzes löschen

C

C:S

Foren As
Morgen,
folgendes Problem: Angenommen ich habe das Model Produkt mit Name, Preis und Beschreibung und möchte nun von einem bestehendem Produkt aus irgendeinem Grund die Beschreibung entfernen, wie mache ich das?

Habe schon sowas probiert:

Code:
#im Model
def del_desc
  self.description = ""
  save
end

Das funktioniert aber nicht (er übschreibt den vorhandenen Wert in der Datenbank nicht). Auch mit `self.description = false` gehts nicht, da speichert er den Wert "f".

Wahrscheinlich ist die Lösung unglaublich offensichtlich, aber ich komme gerade einfach nicht drauf und Google spuckt nur Müll aus...
Gruß, CS
 
Das machst du nich im Model sondern im controler unter update
da übergibst du einfach die ID und den neuen wert und der ActionController macht das dann.
Ganz einfach

schau dir mal noch einmal das MVC-Prinzip an

grüße
 
@foexle Ich habe mich vll. etwas unklar ausgedrückt. Das Beispiel habe ich hier etwas vereinfacht, tatsächlich möchte ich in meinem Projekt mehrere Felder leeren, allerdings sind es immer die gleichen Felder, weswegen keine Parameter außer der ID übergeben werden müssen. Ich würde also über einen Link die Funktion clear_product (um im Beispiel zu bleiben) aufrufen:
Code:
def clear_product
  product = Product.find(params[:id])
  product.del_desc
end

Meines Wissens ist das eine elegantere Methode als über das übliche /product/[id]/edit , da hierfür kein Formular von Nöten ist, sondern eben ein Link ausreicht.
Gruß, CS
 
Zurück
Oben