我不是在标题中正确地表达了这个问题,而是我想做的事情。
我有一个方法,如:
class User < ActiveRecord::Base
def myMethod(abc, xyz)
#do stuff
end
end
我想在我的应用程序中使用5个不同的模型在其after_create回调上调用此函数。
在每个模型中放置一个函数来调用此函数似乎非常反DRY。
这个模型(上面)中有没有办法保存方法 - 远程使用其他模型的回调?
或者任何人都可以提出一种不同的方式来接近这样的事情吗?
答案 0 :(得分:3)
这就是我要做的事情:
创建一个模块:
module MyCallbacks
extend ActiveSupport::Concern
included do
after_create :my_method
end
def my_method
#do stuff
end
end
然后,您只需将此模块包含在您选择的模型中:
class MyModel < ActiveRecord::Base
include MyCallbacks
end