主要文档在调试回调时描述它但似乎不存在:
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
我尝试使用就像示例一样,然后它返回我:
ruby-1.8.7-p330 :026 > Device.after_save_callback_chain
NoMethodError: undefined method `after_save_callback_chain' for #<Class:0x104bc1060>
from /rvm/gems/ruby-1.8.7-p330/gems/activerecord-3.0.5/lib/active_record/base.rb:1008:in `method_missing'
from (irb):26
答案 0 :(得分:3)
似乎这种方法在Rails 3中已经消失了。我之前使用过以下内容:
Model._save_callbacks.select { |callback| callback.kind.eql?(:after) }
这将为您提供任何after_save回调。然后,您可以通过检查.filter属性来获取更多信息,例如调用的proc:
Model._save_callbacks.select { |callback| callback.kind.eql?(:after) }.collect(&:filter)
希望有人有比这更好的答案。
这个_#{kind}_callbacks
方法是在ActiveSupport上定义的,我认为你可以用控制器做类似的事情,而不是我想的。