Я есть модели, связанные следующим образом:Как получить все потомки объекта в 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 терять смысл. Вы _may_ хотите включить свой MVC-код в gisthub gist. – onebree
Спасибо Хантеру, я отредактировал вопрос для ясности, и я сделал для него суть и включил упрощенный MVC. –
Бен, если вы используете родословную, вам нужно будет создать только одну модель «Человек», а отношение внутри дерева определит, является ли экземпляр бабушкой, дедушкой, внуком и т. Д. – TwiceB