Globalize3 - 尝试将翻译添加到现有模型时的迁移错误

时间:2012-10-13 13:12:57

标签: ruby-on-rails internationalization ruby-on-rails-3.2 globalize3

我正在尝试使用Globalize3作为向名为EventCategory的模型提供翻译的简单方法。

不幸的是,当我通过rake db:migrate运行迁移时,出现以下错误:

==  AddTranslationsToEventCategory: migrating =================================
rake aborted!
An error has occurred, this and all later migrations canceled:

PG::Error: ERROR:  relation "translations" does not exist
LINE 4:              WHERE a.attrelid = '"translations"'::regclass
                                    ^
:             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
              FROM pg_attribute a LEFT JOIN pg_attrdef d
                ON a.attrelid = d.adrelid AND a.attnum = d.adnum
             WHERE a.attrelid = '"translations"'::regclass
               AND a.attnum > 0 AND NOT a.attisdropped
             ORDER BY a.attnum

Tasks: TOP => db:migrate
(See full trace by running task with --trace)

我开始使用Google搜索解决方案,并发现:Relation "translations" does not exist after migrating to Rails 3.2.1

但它在我的情况下不起作用。

这是我的迁移:

class AddTranslationsToEventCategory < ActiveRecord::Migration
  def self.up
    EventCategory.create_translation_table!({
      :name => :string
    }, {
      :migrate_data => true
    })
  end

  def self.down
    EventCategory.drop_translation_table! :migrate_data => true
  end
end

到目前为止,没什么特别棘手的!我不明白为什么它不起作用。

我在运行Mountain Lion的MacBookPro上使用Rails 3.2.8。 Postgres是数据库系统。我已将我的应用程序提交给GitHub。请在此处找到:https://github.com/lionelrudaz/myteam2

如果您需要更多信息,请与我们联系。

提前致谢!

干杯,

梅西

1 个答案:

答案 0 :(得分:2)

在GitHub上提交此问题后,我终于得到Philip Arndt的帮助,问题已在Globalize3的0.3.0版本中得到修复。所以解决方案就是卸载gemfile并使用以下命令编辑它:

gem 'globalize3', '>= 0.3.0'

希望这有帮助。