collection_select method gives error in Rails 3.1.

2020-02-10 22:57发布

I have a Model called Category and other Model Product. They have has_many and belongs_to relation. But code in my view

    <p><%= f.collection_select(:product, :category_id, Category.all, :id, :name)%>

is giving me

 undefined method `merge' for :name:Symbol

Any clue what is wrong with it?

1条回答
一纸荒年 Trace。
2楼-- · 2020-02-10 23:36

Chances are you have something like this:

<%= form_for @product do |f| %>

Because f is already tied to product, you don't need to include it as your first argument, so it should just be:

<%= f.collection_select :category_id, Category.all, :id, :name %>

Or, you could not use f.:

<%= collection_select :product, :category_id, Category.all, :id, :name %>
查看更多
登录 后发表回答