2012-11-20 51 views
2

我在Sinatra 1.3.3應用程序中成功使用ActiveRecord 3.2.9。我想能夠使用ActiveRecord :: Observer類,但我不知道如何激活它們。如何在Sinatra中使用ActiveRecord :: Observer?

ActiveRecord的::觀察員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] 

回答

4

知道了解了ActiveRecord的來源here

要激活一個觀察者的Rails之外,請執行下列操作(以我的觀察爲例):

ActiveRecord::Base.add_observer ThermometerReadingObserver.instance 

希望這可以幫助別人!

相關問題