小编Ana*_*use的帖子

如何使用fields_for"parents []"获取正确的子ID,父对象| f | 使用f.fields_for:孩子,孩子?

我正在一个表单的索引视图中编辑父模型的多个实例,如Railscasts#198.每个父母has_many:children和accepts_nested_attributes_for:children,如Railscasts#196和#197

<%= form_tag %>
  <% for parent in @parents %>
    <%= fields_for "parents[]", parent do |f|
      <%= f.text_field :job %>
      <%= f.fields_for :children do |cf| %>
         <% cf.text_field :chore %>
      <% end %> 
    <% end %> 
  <% end %> 
<% end %>  
Run Code Online (Sandbox Code Playgroud)

给定parent.id == 1
f.text_field:作业正确生成

<input id="parents_1_job" type="text" value="coding" size="30" name="parents[1][job]">  
Run Code Online (Sandbox Code Playgroud)

但是cf.text_field:chore生成的id和没有父索引的名称.

id="parents_children_attributes_0_chore"  
name="parents[children_attributes][0][chore]"    
Run Code Online (Sandbox Code Playgroud)

如果我尝试将特定的子对象传递给f.fields_for,如下所示:

<% for child in parent.children %>
  <%= f.fields_for :children, child do |cf| %>
    <%= cf.text_field :chore %>
  <% end %>
<% end %>  
Run Code Online (Sandbox Code Playgroud)

我得到了同样的结果.如果我改变方法:从孩子到"[]孩子",我得到了 …

fields-for ruby-on-rails-3

2
推荐指数
1
解决办法
3080
查看次数

标签 统计

fields-for ×1

ruby-on-rails-3 ×1