0

rails-3.2.2、i18n-0.6.0、globalize3-0.2.0 ruby​​-gems を使用しています。という名前のクラスに GlobalizedをインストールArticleして正しく実行しました。ただし、rake db:seedターミナル ウィンドウでタスクを実行すると、次のエラーが表示されます。

$ rake db:seed
rake aborted!
Mysql2::Error: Unknown database 'article_translations': SHOW TABLES IN article_translations LIKE 'title'

私の<ROOT_APP>/config/seed.rbファイルには次のものがあります。

Article.find_or_create_by_title(
  :title => 'Title example',
  ...
)

私の<ROOT_APP>/app/models/article.rbファイルには次のものがあります。

class Article < ActiveRecord::Base
  translates :title, :fallbacks_for_empty_translations => true

  ...
end

どうすればエラーを解決できますか?

詳細については、https://github.com/svenfuchs/globalize3/pull/123を参照してください。


find_or_create_by_title: この問題は、で呼び出されたメソッドに関連していると思います<ROOT_APP>/config/seed.rb(実際、find代わりにメソッドを使用すると、find_or_create_by_title上記で説明したレーキ エラーは発生しません)。それが本当なら、問題を解決するにはハック(たとえば、以下に示すような)が必要になるため、ファイルをクリアに保つために何ができますか?seed.rb

# The below code has the same effect as the 'find_or_create_by_title' method.
Article.create(:title, 'Title example updated!') unless Article.exists?(:title => 'Title example')
4

1 に答える 1

1

最初に rake db:create / rake db:migrate を実行できなかった可能性があります

于 2012-04-08T00:29:55.220 に答える