我有一个使用单表继承的模型和一个应该适用于任何模型的关注点。
考虑这个例子:
class Car
acts_as_categorizable
end
class Suv < Car; end
module Categorizable
def after_safe
siblings = this.class.where(category: self.category)
#... do something with the siblings
end
end
现在,如果我有一个Suv
并操纵其类别,兄弟姐妹系列只能找到该类别中的其他Suv
汽车,但我需要找到该类别中的所有汽车。
我不想对此进行硬编码,所以给定Suv
类,我需要找到它的根模型(Car
)。
答案 0 :(得分:2)
实际上已经有了这种方法; base_class
。因此Suv.base_class
应返回Car
,Suv
的任何子类也将使用此方法返回Car
。
答案 1 :(得分:0)
这应该可以解决问题:
{{1}}