使用Form_for和每个循环

时间:2013-07-28 00:27:18

标签: ruby-on-rails erb

我正在尝试在Rails中创建一个表单,允许用户使用复选框从较大的列表中选择某些照片。不幸的是,我没有找到任何类似的例子,大多数帖子都没有用。关于如何解决这个问题的任何想法?

 <div>
  <%= form_for :photos, url: trip_path, method: "PUT"  do |f| %>
  <% @photos.each_with_index do |image, index|%>    
    <img src="<%= image.url %>" ><br>
      <span> <%=image.caption%> | <%=image.lat  %> | <%= image.long  %>
        <%= f.hidden_field "url", :value => image.url %>
        <%=check_box_tag('photo')  %>
      </span>
    <% end %>
    <%= f.submit 'Submit'  %>
  <% end %>
</div>

2 个答案:

答案 0 :(得分:1)

API docs说明form_for

  

围绕特定模型对象创建表单和范围

所以,你不能将它与集合一起使用。

可行的方法是使用form_tag代替form_forcheck_box_tag(您已经拥有)。

答案 1 :(得分:1)

使用form_form,您所描述的行为绝对不可能。 然而,如果您愿意放弃form_for(根据您的标准,您没有理由不这样做),您可以通过嵌套{{1}来模仿所描绘的行为}循环 - 包含foreach块的每个循环 - 在 form_for 中:

form_tag