25 行
807 B
Ruby
25 行
807 B
Ruby
class Locale < ApplicationRecord
|
|
after_create_commit :generate_tag_names!
|
|
|
|
belongs_to :language, foreign_key: :language_code, primary_key: :code
|
|
belongs_to :script, foreign_key: :script_code, primary_key: :code
|
|
|
|
def self.nipponese = Locale.find('ja')
|
|
|
|
private
|
|
|
|
def generate_tag_names!
|
|
tag_ids = TagName.where(language_code:, primary_flg: true).pluck(:tag_id)
|
|
Tag.where.not(id: tag_ids).find_each do
|
|
TagName.create!(tag_id: _1.id,
|
|
language_code:,
|
|
name: TagName.generate_name(self, _1, _1.name),
|
|
script_code:,
|
|
primary_flg: true,
|
|
# TODO: 公証実装したら書く.
|
|
# auto_generated: true,
|
|
canonical_id: nil)
|
|
end
|
|
end
|
|
end
|