我正在尝试实现覆盖ActiveRecord方法(查找)的方法,但随后也可以访问原始的find方法。我想使用模块在不继承的情况下进行此操作。所以我要寻找的是这样的:
module Override
def find args
if some_condition
do_something
else
super args # i realize this is not a "super" but this is the functionality i seek
end
...
然后在我的ActiveRecord继承的类中
include Override
... # and then business as usual
MyClass.find(id)
这可能吗?目的是要有一个简单的插件来增强ActiveRecord查找方法(使用缓存和其他工具),但是动机不是我的问题,我想知道Ruby是否支持这种想法。这样做的好处是,对于我希望通过自定义查找行为增强的每个类,我不必构建一个介于Rails和我的类之间的子类。
感谢您的帮助, 凯文