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