Можете ли вы включить фильтры до / после в модуль Rails? - PullRequest
5 голосов
/ 26 июля 2010

Я хотел добавить метод к двум моделям, поэтому я сделал такой модуль и включил его в обе модели.

module UserReputation
  def check_something
    ...
  end
end

Это сработало нормально. Затем я хотел, чтобы этот метод вызывался как: after_create для всех этих моделей. Это работает, если я добавлю его вручную на все модели, но я хотел быть умным и включить его в модуль следующим образом:

module UserReputation
  after_create :check_something
  def check_something
    ...
  end
end

Но это не работает. Есть ли способ сделать это и высушить также after_create?

1 Ответ

11 голосов
/ 26 июля 2010

Попробуйте self.included , который вызывается, когда модуль входит в класс base:

module UserReputation
  def self.included(base)
    base.after_create :check_something
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...