【发布时间】:2010-08-01 03:51:23
【问题描述】:
假设我有一个表 animals 有一个列 parent_id 还说我桌子上有一个type_id来表示物种
所以在我的 Animal 类中,Animall.all 将返回所有动物。
假设现在我在 animal_types 表中添加了两种新的动物类型,狗和猫。所以现在有些动物的 type_id 是 1,有些是 2。
我可以在 Animal 上写一个 named_scope 来返回所有的猫或所有的狗。
但是如果我想创建引用动物表的猫和狗类,那么在狗类中,dog.all 应该发出查询,select * from animals where type_id = 1
然后说我创建了一个名为 person 的类,并添加了一个 has_many :dogs 关系
我怎样才能做到这一点?
【问题讨论】:
标签: ruby-on-rails activerecord polymorphism