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