3

私は、EventCategoryと呼ばれるモデルに翻訳を提供する簡単な方法としてGlobalize3を使用しようとしています。

残念ながら、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)

私は解決策を探し始めましたが、これを見つけました:Rails 3.2.1に移行した後、リレーション「translations」は存在しません。

しかし、私の場合は機能しません。

これが私の移行です:

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

これまでのところ、本当にトリッキーなことはありません。なぜ機能しないのかわかりません。

MountainLionを実行しているMacBookProでRails3.2.8を使用しています。Postgresはデータベースシステムです。アプリをGitHubにコミットしました。ここで見つけてください:https ://github.com/lionelrudaz/myteam2

さらに情報が必要な場合はお知らせください。

前もって感謝します!

乾杯、

ライオネル

4

1 に答える 1

2

GitHubでこの質問を送信した後、ついにPhilip Arndtの助けを借りて、Globalize3のバージョン0.3.0で問題が修正されました。したがって、解決策は、gemfileをアンインストールし、次のコマンドで編集することです。

gem 'globalize3', '>= 0.3.0'

お役に立てれば。

于 2012-12-25T23:52:52.113 に答える