Ich habe ein Formular, das beim Übergeben einen neuen Datensatz in einer Datenbank erstellt. Ich habe zwei Werte in der Datenbank, Wert_1 & Wert_2. In der Form gibt es ein Eingabefeld für Wert_1, das ein Dropdown-Wert von Ja und Nein ist. Wenn das Formular abgeschickt wird, möchte ich, dass Wert_1 und Wert_2 auf den Wert gesetzt werden, der im Eingabefeld für Wert_1 ausgewählt wurde. Wenn dropdown für value_1 auf yes gesetzt ist, wird value_2 ebenfalls auf yes gesetzt.Eine Formulareingabe, um zwei Datenbankwerte festzulegen
ich zur Zeit die folgenden aber verwende glaube, es muss eine elegantere Lösung sein:
params[:person][:free] = params[:person][:trial]
@person = Person.new(params[:person])
@person.update_attribute(:free, params[:person][:free])
Da Sie Person erstellen, nachdem Sie den Wert von params [: person] [: free] geändert haben, denke ich nicht, dass Sie diese letzte Zeile benötigen. Sie können @person einfach speichern. – Sajan
Seltsamerweise dachte ich das selbe, aber es war nicht updaten, daher musste ich das update hinzufügen. Am Ende wurde es verfeinert auf '@ person.update_attribute (: free, params [: person] [: trial])' wie ich den Punkt nicht sehe einen Wert zuweisen 'params [: person] [: free]' wenn es nicht auf 'Person.new' wirkt – EamonnMcElroy
Kannst du ein' p params [: person] 'nach der ersten Zeile setzen und in rails console sehen, welchen Wert es hat zeigt ? – Sajan