我有一个新的rails引擎,我想使用globalize3。我在我的lib//engine.rb .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/migration.rb‘没有加载。
有什么解决方案吗?
发布于 2013-02-02 00:30:06
你必须添加
translates :attributename添加到引擎模型文件,然后再运行迁移。(用您想要翻译的属性替换属性名)。帮我修好了。
发布于 2013-11-23 17:58:11
尝尝这个
SimpleCms::Page.create_translation_table! title: :string, body: :body但是外键将变为simplecms_page_id,我手动将其改回page_id
发布于 2021-02-09 03:19:50
在我的例子中,Gemfile gem不能正常工作,因为traco gem也在globilize中。删除traco修复了此错误。所以我猜只允许使用一个翻译gem
https://stackoverflow.com/questions/13907042
复制相似问题