2012-04-01 11 views
2

私はオブジェクトPersonに2つの親Personを持っています。私はmy_person.parents(現在は未定義)を行う際にPersonオブジェクトの配列を受け取ることができるようにしたいです。私は現在、祖先の宝石を使用しています。これはあなたを単一の親に制限するようです。私が宝石で欲しいものを達成できる方法はありますか?誰にも他の提案がありますか?基本的に多対多の関係です祖先宝石で複数の親をオブジェクトに与える

おかげ

答えて

3

(人が持っていると、多くの親に属しています)。結合テーブルを使用して、Personから自身へのhas_and_belongs_to_manyの関係が必要です。

は、例えばここを参照してください:ActiveRecord relationships for a join table linking two records of the same table?

+0

私がこの方法を選んだのであれば、周期的な関係などがないことを確認するために自分で検証しなければならないでしょう。私はもっ​​と早い解決策を望んでいますが、このフォールバックオプションに感謝します。 –

0

祖先はわずか1人の親をサポートしています。

親がそう親のための唯一の1スロットがあるタイプ

ancestry = "/grandparent_id/parent_id" 

の文字列に格納されています。 https://github.com/stefankroes/ancestry/issues/94

私は祖先があなたにとって最良の解決策ではないかもしれないと考えています。 colsureの木や別のプラグインを試してみたいです

関連する問題