1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-29 10:24:20 +01:00
fab-manager/app/models/product_category.rb

19 lines
601 B
Ruby

# frozen_string_literal: true
# Category is a first-level filter, used to categorize Products.
# It is mandatory to choose a Category when creating a Product.
class ProductCategory < ApplicationRecord
extend FriendlyId
friendly_id :name, use: :slugged
validates :name, :slug, presence: true
validates :slug, uniqueness: true
belongs_to :parent, class_name: 'ProductCategory'
has_many :children, class_name: 'ProductCategory', foreign_key: :parent_id, inverse_of: :parent, dependent: :nullify
has_many :products, dependent: :nullify
acts_as_list scope: :parent, top_of_list: 1
end