Ruby on Rails
- 13 ответов
- 0 вопросов
12
Вклад в тег
create_table :categories do |t|
t.string :name, null: false, unique: true
t.integer :parent_id, index: true, foreign_key: true
end
t.references :category, index: true, foreign_key: true, null: false
has_many :items, dependent: :destroy
has_many :subcategories, class_name: 'Category', foreign_key: :parent_id, dependent: :destroy
belongs_to :parent_category, class_name: 'Category', foreign_key: :parent_id
scope :parent_categories, -> { where(parent_id: nil) }
belongs_to :category
# Что бы получить все основные категории
Category. parent_categories
# Получить подкатегории категории
Category.first.subcategories
# Получить товары категории
Category.first.items