2016-11-24 7 views
0

Ich habe Probleme mit einem Formular, das auch verschachtelte Attribute behandelt. Das übergeordnete Modell "Besprechung" akzeptiert verschachtelte Attribute für die Einladung des untergeordneten Modells. Hinweis: Es ist nur möglich, eine Einladung für ein Meeting zu senden. Dies ist jedoch optional.Rails-Formular für verschachtelte Attribute muss Build verwerfen, wenn abgelehnt

Das Modell für Meeting beinhaltet:

has_one :invitation, :dependent => :destroy 
    accepts_nested_attributes_for :invitation, :reject_if => proc { |a| a[:user_id].blank? }, :allow_destroy => true 

Das Problem in der Ansicht Ansichten/Tagungen/_form.html.erb ist. Ich versuche, alle Attribute für das Treffen und die Einladung für die Ansichten neu, zeigen und bearbeiten zu behandeln. Weil ich will ein Benutzer in der Lage sein, eine Einladung hinzuzufügen, wenn ich

<%= f.fields_for :invitation, @meeting.invitation ||= @meeting.build_invitation do |ff| %> 

setzen vorher gewesen has not Aber das gibt mir einen Fehler, wenn ich die Sitzung bearbeiten möchten, und die Einladung war leer (so war es abgelehnt) "Fehler beim Speichern der neuen verknüpften Einladung."

Was mache ich falsch?

+0

Sie sehen dieses Juwel läuft https://github.com/nathanvda/cocoon? Simplyfy die Arbeit für mich – inye

Antwort

0

bekam es mit der Änderung der Linie in der Ansicht

<%= f.fields_for :invitation, Invitation.where(meeting_id: @meeting.id).first_or_initialize do |ff| %> 
Verwandte Themen