Ich habe ein Problem mit einem Modell. Ich habe ein Modell, das durch 2 Formulare aktualisiert wird (da 2 Personen separate Daten eingeben müssen). Formular 1 enthält die erste Hälfte der erforderlichen Daten und daher müssen nur diese Daten dort validiert werden.Überprüfen Sie für Params für separate Formulare für 1 Modell
Ich habe Probleme, einen Weg zu finden, nur die Daten zu validieren, die in Formular 1 eingegeben wurden. Unten finden Sie meine Subscribe.rb-Modelldatei.
class Subscription < ActiveRecord::Base
# werkgever form
if form_id == 'form1'
validates :email, presence: true
end
# werknemer form
if form_id == 'form2'
validates :name, presence: true
validates :city presence: true
end
end
Ich brauche das, wenn Aussagen etwas enthalten, die es machen würde, so dass nur die Werte in dieser Form bereitgestellten Erzeugnisart validiert werden, so dass ich bekommen Fehler auf form2 nicht, wann und umgekehrt zu aktualisieren.
Ich hoffe, das ist klar genug. Jede Hilfe wird geschätzt. Danke.
Wie unterscheiden Sie für 1 und Form 2? Ich denke, sie in verschiedene Formen mit einem "Formularobjekt" (https://robots.thoughtbot.com/activemodel-form-objects) zu trennen, wäre in dieser Situation am idealsten. –
Hier ist eine verwandte Frage http://stackoverflow.com/questions/24641143/rails-conditional-validation-in-model Fühlen Sie sich frei, virtuelle Attribute zu Ihrem Modell hinzuzufügen und es als verstecktes Feld über das Formular zu übergeben. – taro