Предоставление объекта нескольким родителям с Ancestry gem - PullRequest
2 голосов
/ 01 апреля 2012

У меня есть объект Person, у которого есть два родителя Person s. Я хочу иметь возможность получать массив Person объектов, когда я делаю my_person.parents (в настоящее время не определено). В настоящее время я использую драгоценный камень предков, который, кажется, ограничивает вас одним родителем. Можно ли каким-то образом добиться того, чего я хочу, с помощью драгоценного камня, или у кого-нибудь есть другие предложения?

Спасибо

Ответы [ 2 ]

3 голосов
/ 01 апреля 2012

Это по сути отношения многие ко многим (Человек имеет и принадлежит многим родителям). Вам нужно отношение has_and_belongs_to_many от Person к себе, с таблицей соединений.

См. Здесь пример: Связи ActiveRecord для таблицы соединений, связывающей две записи одной и той же таблицы?

0 голосов
/ 26 июля 2016

Родословная поддерживает только 1 родителя.

Родители хранятся в строке типа

ancestry = "/grandparent_id/parent_id"

Таким образом, для родителя есть только 1 слот.см. https://github.com/stefankroes/ancestry/issues/94

Я думаю, что родословная может быть не лучшим решением для вас.Возможно, захотите попробовать деревья или другой плагин

...