如何正确地在form_tag中选择集合?

cat*_*cat 2 ruby-on-rails view ruby-on-rails-3

我有一个名为Genre的模型

存储了许多记录.
我试图从Genres表中获取所有记录,并在select中显示所有记录.请参阅下面我在视图中编码的内容.
但这会像这样返回错误.我怎么解决这个问题?

undefined方法`map':id:符号

我的看法

  <%= form_tag communities_path, :method => :get, :class => 'form-search' do %>
   <div class="input-append">
    <%= form.collection_select :id, Genre.all, :id, :name %>
    <button type="submit" class="btn">Search</button>
   </div>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

Dar*_*all 12

collection_select需要标识符作为第一个参数,并且在提供的示例中,form未设置变量.因此代码应为:

<%= form_tag communities_path, :method => :get, :class => 'form-search' do %>
 <div class="input-append">
  <%= collection_select :genre, :id, Genre.all, :id, :name %>
  <button type="submit" class="btn">Search</button>
 </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)