Неопределенный метод `create_translation_table!'
У меня новый движок рельсов, и я хочу использовать globalize3. Я сделал это в моей lib // engine.rb:
require 'globalize3'
module SimpleCms
class Engine < ::Rails::Engine
end
end
Теперь я пытаюсь создать миграцию следующим образом:
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
И у меня есть эта ошибка:
undefined method `create_translation_table!' for #<Class:0x00000001d5ca18>
Я думаю, что файл 'lib / globalize / active_record /igration.rb' не загружен.
Любое решение?
3 ответа
Вы должны добавить
translates :attributename
в файл модели двигателя перед запуском миграции. (Замените:attributetename на атрибут, который вы хотите перевести). Это исправило это для меня.
Попробуй это
SimpleCms::Page.create_translation_table! title: :string, body: :body
но внешний ключ станет simplecms_page_id
Я вручную изменить его обратно на page_id
В моем случае,
globilize
gem работал некорректно, потому что gem также был в Gemfile. Удаление
traco
исправлена ошибка. Так что я предполагаю, что можно использовать только один из драгоценных камней перевода