0

モデルのオブザーバーを作成しようとしていますOfferが、このエラーが発生し続けます:

/Users/codus/.rvm/gems/ruby-1.9.3-p194@gyp/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:503:in `load_missing_constant': Expected /Users/codus/Projetos/gyp-revolution/app/models/offer.rb to define Offer (LoadError)

私のモデルには特別なことは何もなく、適切な場所で宣言されていると確信しています (アプリケーションはオブザーバーなしで正常に動作します)。

Railsスクリプトでオブザーバーを生成しました

rails g observer offer

そして、これをconfig/application.rbファイルに追加しました

config.active_record.observers = :offer_observer

最も奇妙な部分は、他のすべてのモデルで問題なく動作することです。

Ruby 1.9.3p194 で Rails 3.2.6 を使用しています。

4

1 に答える 1

1

問題は、私が FactoryGirl を使用していて、Offer工場内でモデルで定義された定数を呼び出したことです。モデルの前にファクトリがロードされていたため、このエラーが発生していました。

オブザーバーがこれを変更したのは奇妙です。それがなくても問題なく動作します。現在、定数ではなく、工場の値を使用しています。

于 2012-07-28T18:49:55.790 に答える