给一个对象多个父母用Ancestry gem

时间:2012-04-01 10:02:42

标签: ruby ruby-on-rails-3 ancestry

我有一个对象Person,它有两个父Person个。我希望能够在Person(当前未定义)时收到my_person.parents个对象的数组。我目前正在使用祖先宝石,这似乎限制你单亲。有什么方法可以用宝石完成我想要的东西,或者有没有人有任何其他建议?

由于

2 个答案:

答案 0 :(得分:3)

这实际上是一种多对多关系(Person拥有并且属于许多父母)。您需要从Person到自身的has_and_belongs_to_many关系,以及连接表。

请点击此处查看示例:ActiveRecord relationships for a join table linking two records of the same table?

答案 1 :(得分:0)

Ancestry只支持1位父母。

父母存储在

类型的字符串中
ancestry = "/grandparent_id/parent_id"

因此父母只有一个插槽。见https://github.com/stefankroes/ancestry/issues/94

我认为祖先可能不是最适合你的解决方案。可能想尝试colsure树或其他插件