我有相關的型號如下:如何獲得在Ruby中的對象的所有後代on Rails的
GrandParent
has_many :kids
has_many :grand_children, through: :kids
Kid
belongs_to :grand_parent
has_many :grand_kids
GrandKid
belongs_to :kid
我只是想調用對象的.descendants,並得到所有的對象屬於它的「血統」。
我認爲使用祖先寶石會給我我想要的.descendants方法,但它只會在單個類上創建一個額外的索引,允許您在所述類中獲得子孫(很適用於評論&回覆,但對我的問題沒有用)我的代碼並不是真的有必要了解這個問題,但在這裏它是爲那些感興趣的人:https://gist.github.com/bjlinville1/8425bfe88bc7060209e8
我只會建議將您的帖子縮短到理解問題所需的最少代碼量。這是一個很好的問題,但過多的細節會使Q失去意義。您可能希望將您的MVC代碼包含在gisthub中。 – onebree
感謝Hunter,爲了清晰起見我編輯了這個問題,並且我爲它做了一個要點,並且包含了簡化的MVC。 –
Ben,如果你使用祖先,你只需要創建一個單獨的模型「Person」,並且樹中的關係將決定該實例是祖父母,孩子,孫輩等。 – TwiceB