Я создал объединенную таблицу для категории моделей и продуктов (оба созданы с помощью scaffold). Модель продукта это:
class Product < ActiveRecord::Base
belongs_to :category
def category_id
category.id if category
end
def category_id=(id)
self.category = Category.find_by_id(id) unless id.blank?
end
end
и модель категории это:
class Category < ActiveRecord::Base
has_and_belongs_to_many :products
end
В форме form.html.erb я создаю выпадающий список со всеми классами, которые пользователь может выбрать:
<p>
<label for="product_category_id">Category:</label><br />
<%= f.collection_select :category_id, Category.find(:all), :id, :name, :prompt => "Select a Category" %>
</p>
Все же, когда я смотрю на показ продукта:
<p>
<b>Category:</b>
<%= @product.category_id %>
</p>
или список продуктов (index.html.erb):
<td><%= product.category_id %></td>
Там нет категории. Просто пусто Я не понимаю Что-то не так с методом category_id или ассоциацией?