2020-09-25 21:02:34 +00:00
|
|
|
# == Schema Information
|
|
|
|
#
|
2022-05-16 08:29:59 +00:00
|
|
|
# Table name: categories
|
2020-09-25 21:02:34 +00:00
|
|
|
#
|
|
|
|
# id :bigint not null, primary key
|
|
|
|
# description :text
|
2022-04-20 10:30:37 +00:00
|
|
|
# locale :string default("en")
|
2020-09-25 21:02:34 +00:00
|
|
|
# name :string
|
|
|
|
# position :integer
|
|
|
|
# created_at :datetime not null
|
|
|
|
# updated_at :datetime not null
|
|
|
|
# account_id :integer not null
|
|
|
|
# portal_id :integer not null
|
|
|
|
#
|
2022-04-20 10:30:37 +00:00
|
|
|
# Indexes
|
|
|
|
#
|
2022-05-16 08:29:59 +00:00
|
|
|
# index_categories_on_locale (locale)
|
|
|
|
# index_categories_on_locale_and_account_id (locale,account_id)
|
2022-04-20 10:30:37 +00:00
|
|
|
#
|
2022-05-16 08:29:59 +00:00
|
|
|
class Category < ApplicationRecord
|
2020-09-25 21:02:34 +00:00
|
|
|
belongs_to :account
|
|
|
|
belongs_to :portal
|
2021-11-18 05:02:29 +00:00
|
|
|
has_many :folders, dependent: :destroy_async
|
2020-09-25 21:02:34 +00:00
|
|
|
has_many :articles, dependent: :nullify
|
|
|
|
|
|
|
|
before_validation :ensure_account_id
|
|
|
|
validates :account_id, presence: true
|
|
|
|
validates :name, presence: true
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def ensure_account_id
|
|
|
|
self.account_id = portal&.account_id
|
|
|
|
end
|
|
|
|
end
|