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 回答