2

我从 Rails 3.1.3 迁移到 3.2.1,加载主页时出现以下错误:

PGError: 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

当 globalize3 gem 尝试在 page_meta_tags 和 page_meta_tag_translations 表之间建立关系时,就会发生这种情况。在 Rails 3.1.3 上一切正常。会不会是因为新的 Active Record 和 globalize3 不兼容?有人有同样的事情吗?

class PageMetaTag < ActiveRecord::Base
  translates :title, :description, :keywords

  accepts_nested_attributes_for :translations
end
4

1 回答 1

1

尝试使用 globalize3 beta:

gem 'globalize3', '0.2.0.beta8'
于 2012-02-07T11:44:28.910 回答