2012-04-04 103 views
2

我有一个嵌套窗体Parent,它接受Child的属性。 在我的控制器#新的,我做如何更新Rails中嵌套窗体中的子对象

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

和嵌套形态正常工作

要更新家长和孩子,在我的控制器#编辑,我有

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

现在,如果我去编辑页面,只有父母的字段会显示出来。我的问题是: 如何让Rails知道我需要Parent和Child的表单,而不仅仅是Parent?

谢谢

回答

4

使用fields_for帮手 - 它几乎为你做的一切。

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