我正在尝试为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
最奇怪的是,它与我所有其他模特一起工作正常。
我正在使用Rails 3.2.6和Ruby 1.9.3p194。
答案 0 :(得分:1)
问题在于我正在使用FactoryGirl,并且在我的Offer
工厂内我调用了我的模型中定义的常量。工厂正在模型之前加载,所以发生了这个错误。
观察者改变了这一点很奇怪,没有它就可以正常工作。现在我只使用工厂中的值,而不是常量。