我想做的是为我的一些模型创建一个基类,这些模型具有一些默认的 activerecord 行为:
class Option < ActiveRecord::Base
has_many :products
def some_method
#stuff
end
#etc..etc..
end
class ColorOption < Option
#stuff...
end
class FabricOption < Option
#stuff...
end
但是,我希望 ColorOption 和 FabricOption 都在他们自己的表中。我不想使用 STI 或有一个基类“选项”的表。我让它工作的唯一方法是使用一些非继承元编程魔法。但我想知道是否有办法告诉 AR 基类不需要表。它只是为了额外的行为,并像往常一样将其他子类放在他们自己的表中。
谢谢,
克雷格
最佳答案
你想要的是一个抽象类:
class Option < ActiveRecord::Base
self.abstract_class = true
end
class ColorOption < Option
...
end
class FabricOption < Option
...
end
关于ruby-on-rails - Rails ActiveRecord - 从没有表的基类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3532985/