Dav*_*est 2 activerecord ruby-on-rails sinatra
我在Sinatra 1.3.3应用程序中成功使用ActiveRecord 3.2.9.我希望能够使用ActiveRecord :: Observer类,但我不确定如何激活它们.
ActiveRecord :: Observer 文档特定于Rails有关此特定位:
要激活观察者,请在config/application.rb文件的config.active_record.observers配置设置中列出它.
当然,我没有设置此设置的"config"对象.有任何想法吗?
编辑
我尝试像这样激活观察者:
ActiveRecord::Base.observers = [ :thermometer_reading_observer ]
Run Code Online (Sandbox Code Playgroud)
这样做,因为它们设置正确,但它们仍然没有做任何事情:
[4] pry(main)> ActiveRecord::Base.observers
=> [:thermometer_reading_observer]
Run Code Online (Sandbox Code Playgroud)
得到它从细读ActiveRecord的源想通了,在这里:
要激活Rails之外的观察者,请执行以下操作(以我的观察者为例):
ActiveRecord::Base.add_observer ThermometerReadingObserver.instance
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人!