<%= form_for(@foo) do |f| %>
<% @bar.each do |b| %>
<%= b.jar %>
<% end %>
<% end %>
如何在提交表单时发送b.jar的值?
答案 0 :(得分:2)
您只需将它们作为实际表单字段发送:
<%= form_for(@foo) do |f| %>
<% @bar.each do |b| %>
<%= hidden_field_tag b.name, b.jar %>
<% end %>
<% end %>
您也可以为任何其他类型的字段执行此操作:
<%= text_field_tag b.name, b.jar %>
请注意,这假设每个@bar都有一个name属性。如果它没有,你需要确保使用一种方法给它一个唯一的名称,例如在循环中传递密钥并使用数字:
<%= form_for(@foo) do |f| %>
<% @bar.each_with_index do |k, b| %>
<%= hidden_field_tag "name#{k}", b.jar %>
<% end %>
<% end %>
答案 1 :(得分:0)
我得到了答案。而不是&lt;%= hidden_field_tag b.name,b.jar%&gt;我不得不使用&lt;%= f.hidden_field b.name%&gt;。它对我有用。