在我的表单中,我想迭代一个特定的集合并收集有关每个集合的相同信息。为简单起见,例如:
<%= form_tag :update_dog do %>
<% @dogs.each do |dog| %>
<%= text_field_tag :name, :class=>dog.id %>
<% end %>
<%= submit_tag "Add", :class => 'btn btn-success'%>
<%= end %>
我希望收集每只狗的名字以便在控制器中进行操作(我希望能够在每个提交的狗名称上进行迭代并访问其ID)。我收集的狗的潜在数量是可变的。做这个的最好方式是什么?上面的代码是我到目前为止,但我不知道它是否正确,如果是这样,如何在控制器中使用它。
非常感谢!
答案 0 :(得分:1)
我从一个过滤器开始。创建一个创建你的狗的before_filter
class KennelController < ApplicationController
before_filter :get_dogs , :only=>[:new,:edit]
def get_dogs
@dogs = Dog.all.map{|d| [d.name, d.id]}
end
....
end
然后在新视图或编辑视图中,您可以执行以下操作:
<%= select_tag :dog, options_for_select(@dogs) %>