1
我有下面的代码,我想触发FooClass的回调,只要ActiveRecord的on_new_annoucement
触发。我已经将回调数组作为模块的类变量,但它超出了Activerecord回调的范围。每当Activerecord触发一个回调:after_save回调触发器
module FooModule
class FooClass
attr_reader :callbacks
def initialize
@@callbacks = Hash.new { |h, k| h[k] = [] }
end
def on_new_announcement(&block)
@@callbacks[:on_new_announcement] << block
end
end
class Announcement < ActiveRecord::Base
after_save :on_new_announcement
def on_new_announcement
....
end
end
end