首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义的方法`create_translation_table!‘

未定义的方法`create_translation_table!‘
EN

Stack Overflow用户
提问于 2012-12-17 08:54:29
回答 3查看 2.9K关注 0票数 9

我有一个新的rails引擎,我想使用globalize3。我在我的lib//engine.rb .rb中完成了此操作:

代码语言:javascript
复制
require 'globalize3'

module SimpleCms
  class Engine < ::Rails::Engine
  end
end

现在,我尝试像这样创建一个迁移:

代码语言:javascript
复制
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

我有这样的错误:

代码语言:javascript
复制
undefined method `create_translation_table!' for #<Class:0x00000001d5ca18>

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

有什么解决方案吗?

EN

回答 3

Stack Overflow用户

发布于 2013-02-02 00:30:06

你必须添加

代码语言:javascript
复制
translates :attributename

添加到引擎模型文件,然后再运行迁移。(用您想要翻译的属性替换属性名)。帮我修好了。

票数 25
EN

Stack Overflow用户

发布于 2013-11-23 17:58:11

尝尝这个

代码语言:javascript
复制
SimpleCms::Page.create_translation_table! title: :string, body: :body

但是外键将变为simplecms_page_id,我手动将其改回page_id

票数 1
EN

Stack Overflow用户

发布于 2021-02-09 03:19:50

在我的例子中,Gemfile gem不能正常工作,因为traco gem也在globilize中。删除traco修复了此错误。所以我猜只允许使用一个翻译gem

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13907042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档