我有一个对象Person
,它有两个父Person
s。我希望在执行my_person.parents
时能够接收一个Person
对象数组(当前未定义)。我目前正在使用祖先宝石,这似乎将你限制为单亲。有没有什么方法可以让我用宝石实现我想要的目标,或者有人有其他建议吗?
感谢
这本质上是一种多对多的关系(Person拥有并属于许多父母)。您需要一个从Person到它自身的has_and_belongs_to_many
关系,以及一个联接表。
请参阅此处的示例:链接同一表的两个记录的联接表的ActiveRecord关系?
Ancestry只支持1个父级。
父项存储在类型的字符串中
ancestry = "/grandparent_id/parent_id"
因此,一个父对象只有一个插槽。看见https://github.com/stefankroes/ancestry/issues/94
我认为血统可能不是你的最佳解决方案。可能想试用colsure树或其他插件