我有一个嵌套表单 Parent,它接受 Child 的属性。 在我的 Controller #new 中,我这样做
@parent = Parent.new
@parent.childs.build
嵌套表单工作正常
为了更新父级和子级,在我的 Controller #edit中,我有
@parent = Parent.find(params[:id])
@parent.childs.build unless not @parent.childs.empty?
现在,如果我进入编辑页面,只会显示父级字段。我的问题是: 如何让 Rails 知道我想要父级和子级的表单,而不仅仅是父级?
谢谢
最佳答案
使用 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 %>
关于ruby-on-rails - 如何在 Rails 中以嵌套形式更新子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003806/