2012-04-04 9 views
2

Ich habe ein verschachteltes Formular Parent, das Attribut für Child akzeptiert. In meinem Controller # neu, ichSo aktualisieren Sie untergeordnete Objekt in verschachtelter Form in Rails

@parent = Parent.new 
    @parent.childs.build 

und die verschachtelte Form funktioniert

Für Eltern und Kind zu aktualisieren, in meinem Controller # bearbeiten, habe ich

@parent = Parent.find(params[:id]) 
    @parent.childs.build unless not @parent.childs.empty? 

Nun, wenn Ich gehe zur Bearbeitungsseite, nur Felder für Eltern werden angezeigt. Meine Frage ist: Wie kann ich Rails wissen, dass ich das Formular für Eltern und Kind, und nicht nur für Eltern wollen?

Danke

Antwort

4

die fields_for Helfer verwenden - es alles für Sie fast tun.

<%= form_for @parent do |f| %> 
    <%= f.text_field :name %> 
    <%= f.fields_for :children, @parent.children do |c| %> 
    <%= c.text_field :name %> 
    <% end %> 
<% end %>