未定义的方法`create_translation_table!'

Dou*_*gui 9 ruby-on-rails globalize3

我有一个新的rails引擎,我想使用globalize3.我在我的lib // engine.rb中做了这个:

require 'globalize3'

module SimpleCms
  class Engine < ::Rails::Engine
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,我尝试创建这样的迁移:

class CreatePages < ActiveRecord::Migration
  def up
    create_table :pages do |t|
      t.string :path
      t.timestamps
    end
    Page.create_translation_table! title: :string, body: :body
  end

  def down
    drop_table :pages
    Page.drop_translation_table!
  end
end
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

undefined method `create_translation_table!' for #<Class:0x00000001d5ca18>
Run Code Online (Sandbox Code Playgroud)

我认为没有加载文件'lib/globalize/active_record/migration.rb'.

有解决方案吗

Mic*_*nzl 23

你必须添加

translates :attributename
Run Code Online (Sandbox Code Playgroud)

在运行迁移之前,请转到Engine模型文件.(替换:具有您要翻译的属性的attributename).这为我解决了这个问题.