Ruby优化和钩子

时间:2015-08-31 16:32:39

标签: ruby-on-rails ruby refinements

我尝试使用ruby细化来应用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),但似乎无法正确使用语法。

欢迎任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

您有没有使用ActiveSupport回调的原因? 看看这里:http://api.rubyonrails.org/classes/ActiveSupport/Callbacks.html