我想为两个模型添加一个方法,所以我制作了一个这样的模块并将其包含在两个模型中。
module UserReputation
def check_something
...
end
end
工作得很好。然后我希望在所有这些模型上将该方法称为:after_create。如果我手动将它添加到所有模型,它可以工作,但我想要聪明并将其包含在模块中,如下所示:
module UserReputation
after_create :check_something
def check_something
...
end
end
但这不起作用。有没有办法实现这一点并干掉after_create?
答案 0 :(得分:11)
尝试self.included,当模块混合到类base
中时调用它:
module UserReputation
def self.included(base)
base.after_create :check_something
end
end