我正在尝试创建一个表单,该表单允许用户为同一表单上的每个类别选择不同的选项,并且每个选项都将创建自己的模型。我的问题是让表单提交多个参数。我的代码如下:
<%= 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"}
我可以看到它创建了一个哈希并准备提交多个选择,但是它只是提交的最后一条记录的数据。
非常感谢有关如何更新多条记录的任何帮助。
提前致谢。