Rails Single Table继承如何从查询父类中查找子类的记录?

时间:2015-07-06 05:43:41

标签: ruby-on-rails ruby-on-rails-4 activerecord single-table-inheritance

我有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的所有子类?

1 个答案:

答案 0 :(得分:0)

据我所知,你需要在表中添加加法字段(事件) - 输入:string

您可以使用此字段过滤查询。