У меня есть структура категории, например:
- Cars
- 4 Door
- Sedan
- SUV
- 2 Door
- Sports
- Race
Продукт может принадлежать одной категории, и, учитывая то, как я настроил пользовательский интерфейс, пользователь может выбирать только из конечного узла.
class Product < ActiveRecord::Base
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :subcategories, class_name: 'Category', foreign_key: 'parent_id', dependent: :destroy
belongs_to :parent_category, class_name: 'Category'
has_many :products
end
Теперь, когда они просматривают, я без проблем могу перечислить продукты из категории «Седан». Но как насчет того, когда они нажимают «Автомобили», должны отображаться все продукты в 4-дверных (седан, внедорожник) и 2-дверных (спорт, гонки), поскольку они являются дочерними категориями.
Или, когда они нажимают на 4 двери, должны быть перечислены все продукты в седанах и внедорожниках. Имеет ли это смысл?
Как я могу получить все продукты, которые находятся в данной категории?
category_id
, установленный на идентификатор корневой родительской категории. Записи базы данных действительно обновляются! 26.03.2014products
, отсюда и эффект. Обновление заключается в том, что вызовto_a
удалит из него всю магию ActiveRecord (надеюсь). 26.03.2014