Rails - Simple_fields_for不提交多条记录

时间:2017-04-24 13:35:29

标签: ruby-on-rails ruby simple-form-for

我正在尝试创建一个表单,允许用户为同一表单上的每个类别选择不同的选项,并且每个表单都将创建自己的模型。我的问题是让表单提交多个参数。我的代码如下:

      <%= simple_form_for choices_path do |f| %>
        <td><%= person.fullname %></td> 
        <td><%= person.email %></td> 
        <td><%= person.phone %></td> 
        <% if Category.any? %>
          <%= f.simple_fields_for :choices do |g| %>
            <% Category.all.each do |category| %>
              <td>
                <%= g.input :item_id, as: :select, collection: booking.venue.menu_items(category) %>
                <%= g.hidden_field :admin_id, value: person.id %>
              </td>
            <% end %>
          <% end %>
        <% end %>
        <td><%= person.completed? %></td>
        <td><%= f.submit %></td>
      <% end %>

这个想法显然是为每个类别创建一个新表单。这有效直到提交数据,其中只提交最后一个表单的数据。我的参数如下:

{"utf8"=>"✓", "authenticity_token"=>"tf3DSLGHyOVEVJkcLjSVE9HDJbjn1CIaYBJIfHFw6RYH8tcn0tNilWVIjzyvcjXYm2ovKNO5A31+TktGA8X2+Q==",
 "/choices"=>{"choices"=>{"item_id"=>"Dessert 1", "admin_id"=>"3"}},
 "commit"=>"Save /choices",
 "venue_id"=>"1",
 "booking_id"=>"26"}

我可以看到它创建了一个哈希并准备提交多个选项,但它只是提交的最后一条记录的数据。

非常感谢有关如何更新多条记录的任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

The simple form association helper might be what you are looking for: link