Метод collection_select выдает ошибку в Rails 3.1.1 - PullRequest
10 голосов
/ 16 ноября 2011

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

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

дает мне

 undefined method `merge' for :name:Symbol

Любая подсказка, что с ним не так?

1 Ответ

37 голосов
/ 16 ноября 2011

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

<%= 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 %>
...