我想在每个类方法之前执行一个方法。是否可以使用ActiveModel回调执行此操作,还是必须使用元编程?
我试过了:
class Image
extend ActiveModel::Callbacks
define_model_callbacks :create
before_create :set_base_uri
def self.create
run_callbacks :create do
..my_code..
end
end
def set_base_uri
..my_code..
end
end
当我致电Image.create
时,我得到了
未定义的方法`run_callbacks' for Image:Class
如果我将create
更改为实例方法,则相同的代码可以正常工作。我查看了documentation,但他们没有提到类方法,ActiveModel是否支持类方法回调?
答案 0 :(得分:0)
我认为回调可以正常工作,因为在实例级别调用了回调方法。使用alias_method可能有效。