尝试在Rails上创建观察者时'load_missing_constant'

时间:2012-07-25 19:03:04

标签: ruby-on-rails observers

我正在尝试为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。

1 个答案:

答案 0 :(得分:1)

问题在于我正在使用FactoryGirl,并且在我的Offer工厂内我调用了我的模型中定义的常量。工厂正在模型之前加载,所以发生了这个错误。

观察者改变了这一点很奇怪,没有它就可以正常工作。现在我只使用工厂中的值,而不是常量。