【发布时间】:2015-07-06 14:41:06
【问题描述】:
我有支持单表继承的events 表和Event 类。
有 Events::Template 类继承自它。而且还有更多的 3-4 个类继承自 Events::Template 类(即 3 层继承)。
当我查询Events::Template 类时,我想要所有子类的结果记录。所以当我这样做时
Events::Template.where(....)
它会生成以下查询
SELECT "events".* FROM "events" WHERE "events"."type" IN ('Events::Template')...
此默认查询仅将类型过滤为Events::Template。
有什么方法可以删除类型的默认查询或将其更改为查看Events::Template 的所有子类?
【问题讨论】:
-
STI 不支持您正在寻找的内容,AFAIK。你需要改变你的架构..
标签: ruby-on-rails ruby-on-rails-4 activerecord single-table-inheritance