我在Sinatra 1.3.3应用程序中成功使用ActiveRecord 3.2.9。我希望能够使用ActiveRecord :: Observer类,但我不确定如何激活它们。
ActiveRecord :: Observer docs特定于Rails有关此特定位:
要激活观察者,请在config / application.rb文件的config.active_record.observers配置设置中列出。
当然,我没有设置此设置的“config”对象。有什么想法吗?
修改
我尝试像这样激活观察者:
ActiveRecord::Base.observers = [ :thermometer_reading_observer ]
这可以做一些事情,因为它们设置正确,但它们仍然没有做任何事情:
[4] pry(main)> ActiveRecord::Base.observers
=> [:thermometer_reading_observer]
答案 0 :(得分:5)
通过仔细阅读ActiveRecord来源here来了解它:
要激活Rails之外的观察者,请执行以下操作(以我的观察者为例):
ActiveRecord::Base.add_observer ThermometerReadingObserver.instance
希望这有助于某人!