我想补充的审计观察其确实行动随时after_create 3款(书籍,人物,作家)...Rails 3的观察 - 想学习如何实现观察员多个型号
我最近听说过Observer功能,但找不到任何有关此功能的文档。它支持Rails 3吗?
如何为3个模型创建一个after_create的Auditor Observer?
感谢
我想补充的审计观察其确实行动随时after_create 3款(书籍,人物,作家)...Rails 3的观察 - 想学习如何实现观察员多个型号
我最近听说过Observer功能,但找不到任何有关此功能的文档。它支持Rails 3吗?
如何为3个模型创建一个after_create的Auditor Observer?
感谢
Rails的observers是甜的,您可以在一个观察者内observe
多个模型
首先,你需要生成你的观察:
rails g observer Auditor
然后,在你新鲜auditor_observer.rb文件定义您想要的模型observe
,然后添加after_create
回调。
class AuditorObserver < ActiveRecord::Observer
observe :model_foo, :model_bar, :model_baz
def after_create(record)
#do something with `record`
end
end
在application.rb中添加
config.active_record.observers = :auditor_observer
,它应该工作。
奇怪,由于某种原因,它不起作用。我添加了一个调试器记录器,没有写入任何内容。是否需要其他一些步骤才能让观察员参与进来? – AnApprentice 2010-10-01 01:35:55
K发现它需要是“ActiveRecord :: Observer”,它需要在config目录下的application.rb文件中定义。 – AnApprentice 2010-10-01 01:43:29
是的你是对的,编辑答案。 – jpemberthy 2010-10-01 13:51:34
不要忘记在你的application.rb'config.active_record.observers =:auditor_observer'的第25行添加这个。 – 2011-03-31 18:27:46