Рубиновые доработки и крючки

Я пытаюсь использовать рубиновые доработки, чтобы применить крючки для рельсов.

Я хочу избежать исправления обезьян. При исправлении обезьяны это будет работать как таковое

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 ответ

Есть причина, по которой вы не используете обратные вызовы ActiveSupport? Посмотрите здесь: http://api.rubyonrails.org/classes/ActiveSupport/Callbacks.html

Другие вопросы по тегам