在我的系统中,我已经定义了 STI。Dog
继承自Animal
,在animals
表中有一个type
值为 的列"Dog"
。
现在我想SpecialDog
从狗继承,只是为了在某些特殊情况下稍微修改行为。数据还是一样的。我需要运行的所有查询SpecialDog
来返回数据库中具有 type 的值Dog
。
我的问题是,由于我有一type
列,rails 会附加WHERE "animals"."type" IN ('SpecialDog')
到我的查询中,因此我无法访问原始Dog
条目。所以我想要的是以某种方式覆盖 rails 在访问数据库时使用的值,SpecialDog
使其表现得像Dog
.
有没有办法覆盖用于类型列的值轨道?