如何在Sinatra中使用ActiveRecord :: Observer?

时间:2012-11-20 23:41:27

标签: ruby-on-rails activerecord sinatra

我在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]

1 个答案:

答案 0 :(得分:5)

通过仔细阅读ActiveRecord来源here来了解它:

要激活Rails之外的观察者,请执行以下操作(以我的观察者为例):

ActiveRecord::Base.add_observer ThermometerReadingObserver.instance

希望这有助于某人!