7

我正在尝试使用 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),但似乎无法获得恰到好处的语法。

欢迎任何帮助。

谢谢。

4

1 回答 1

0

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

于 2016-07-19T12:14:36.863 回答