【问题标题】:How to specify translation table name. Globalize如何指定转换表名称。全球化
【发布时间】:2020-01-20 20:05:22
【问题描述】:

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

我必须使用 Globalize gem 为模型 Article::Category 创建一个附加表。

类别迁移包含跟随可逆创建:

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!)

globalize gem 中没有指定表名的方法或选项。我希望在不覆盖 Article::Category 类名的情况下这样做。

【问题讨论】:

    标签: ruby-on-rails internationalization globalize


    【解决方案1】:

    添加解决

    def self.table_name_prefix
      'article_'
    end
    

    在文章模块声明中

    module Article
      def self.table_name_prefix
        'article_'
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多