1

在我的表单中,我想遍历一个特定的集合并收集关于每个集合的相同信息。为简单起见,类似:

<%= 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)。我收藏的狗的潜在数量是可变的。做这个的最好方式是什么?上面的代码是我到目前为止所拥有的,但我不知道它是否正确,如果正确,如何在控制器中使用它。

非常感谢!

4

1 回答 1

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) %>
于 2012-12-31T19:19:06.323 回答