我一直在玩弄 STI 和 belongs_to / has_many 关系,我有点困惑。
基于类似于以下的模型配置,我有几个问题:
class Parental < ActiveRecord::Base
end
class Mother < Parental
has_many :babies
end
class Father < Parental
has_many :babies
end
class Baby < ActiveRecord::Base
belongs_to :??????
end
- 应该
Baby
属于什么? - 在迁移方面,我应该为
babies
表上的外键命名/添加什么? - 我很难研究这个,是否有明确的来源可以解释这一点?API 文档似乎没有击中它,或者我错过了它(这是完全可能的)。
我的第一个想法是添加一个parental_id
类似babies
的方法Baby#owner
,执行以下操作:
- 击中self.parental
- 确定父母的类型
- 返回正确的父母类型(可能是母亲,也可能是父亲)
谢谢!