我正在尝试使用
ruby refinements来应用rails hooks.
我想避免猴子补丁.当猴子修补它会这样工作
ActiveRecord::Base.class_eval do after_find do # do something with my_method end def my_method # something useful end end
通过这样的方式,我已经能够拥有类方法:
module ActiveRecordRefinements refine ActiveRecord::Base.singleton_class do def my_method #something cool end end end
但我无法逃脱.我尝试使用self.used(klass)但似乎无法正确获得语法.
欢迎任何帮助.
谢谢.
解决方法
您有没有使用ActiveSupport回调的原因?
看看这里: http://api.rubyonrails.org/classes/ActiveSupport/Callbacks.html
看看这里: http://api.rubyonrails.org/classes/ActiveSupport/Callbacks.html