7

Ruby Refinements を使用して Rails フックを適用しようとしています。

モンキーパッチを避けたい。モンキーパッチを適用すると、そのように機能します

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 に答える