Метод collection_select дает ошибку в Rails 3.1.1

У меня есть модель под названием Категория и другой модельный продукт. У них есть has_many и принадлежит к отношению. Но код на мой взгляд

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

дает мне

 undefined method `merge' for :name:Symbol

Какой-нибудь вопрос, что с ним не так?

Ответ 1

Скорее всего, у вас есть что-то вроде этого:

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

Поскольку f уже привязан к product, вам не нужно включать его в качестве вашего первого аргумента, поэтому он должен быть только:

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

Или вы не можете использовать f.:

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