【发布时间】:2014-03-19 17:24:03
【问题描述】:
我正在尝试使用单表继承从不是单表继承的基类的类中查询类层次结构中的所有记录。例如,给定以下类层次结构。
class Animal < ActiveRecord::Base; end
class Dog < Animal; end
class Mutt < Dog; end
class PureBred < Dog; end
我希望能够查询所有的狗
dogs = Dog.all
and dogs 是 Mutt 和 PureBred 实例的列表。
这可以吗?我通过将 Dog 类中的 default_scope 设置为
来尝试进行概念验证default_scope { where(:type => ['Mutt', 'PureBred']) }
但 ActiveRecord 仍然附加了 WHERE type IN ('Dog') 的限制性更强的条件
【问题讨论】:
标签: ruby-on-rails ruby inheritance activerecord