我正在尝试使用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)
我已经开始谷歌搜索解决方案,并发现了以下内容: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
如果您需要更多信息,请与我们联系。
提前致谢!
干杯,
莱昂内尔
最佳答案
在GitHub上提交此问题后,我终于从Philip Arndt获得帮助,并且该问题已在Globalize3的0.3.0版本中修复。因此,解决方案就是简单地卸载gemfile并使用以下命令对其进行编辑:
gem 'globalize3', '>= 0.3.0'
希望这可以帮助。
关于ruby-on-rails - Globalize3-尝试向现有模型添加翻译时发生迁移错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12873430/