如何指定翻译表名称。全球化

问题描述 投票:0回答:1

我的应用程序中有一个用于类别模型的翻译表。

我必须为模型Article :: Category创建具有Globalize gem的附加表。

类别迁移包含以下可逆创建:

reversible do |dir|
  dir.up do
    Category.create_translation_table! name: :string,
                                       description: :text
  end

  dir.down do
    Category.drop_translation_table!
  end
end

Article ::类别迁移几乎相同

reversible do |dir|
  dir.up do
    Article::Category.create_translation_table! title: :string
  end

  dir.down do
    Article::Category.drop_translation_table!
  end
end

[当我尝试进行db:migrate时,出现错误:PG::DuplicateTable: ERROR: relation "category_translations" already exists

如何在已在迁移中指定模块的情况下指定表名(Article::Category.create_translion_table!]

全球化gem中没有指定表名的方法或选项。我希望在不覆盖Article :: Category类名的情况下做到这一点。

ruby-on-rails internationalization globalize
1个回答
0
投票

通过添加解决

def self.table_name_prefix
  'article_'
end

文章模块中的声明

module Article
  def self.table_name_prefix
    'article_'
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.