例如,我希望有一个方法名称'owner',它返回文章的所有者或对两个模型,Article和Comment进行评论。 而不是添加
def owner
user
end
对于每个模型,有没有办法用1种方法管理多个模型?
答案 0 :(得分:1)
有几种方法可以解决这个问题:
包含一个模块,其中包含每个模型中的方法
将实例方法添加到ActiveRecord
Base
添加method_missing
或多或少与上述相同的原则,但更多hacky
1的优点是它只在你想要的模型中包含方法,但是你必须包含一行......
2& 2的优点3是你不需要包含模块,但每个模型都会拥有它,即使不相关。