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