Я хочу получить что-то подобное в одном классе, используя ActiveRecord:
grandfather = Person.create(name: "Grandfather")
son = Person.create(name: "Son", parent: grandfather)
grandson = Person.create(name: "Grandson", parent: son)
grandfather.children.map(&:name)
=> ["Son"]
grandfather.grandchildren.map(&:name)
=> ["Grandson"]
Я написал детское объединение так:
class Person < ActiveRecord::Base
belongs_to :parent, class_name: "Person", foreign_key: "parent_id"
has_many :children, class_name: "Person", foreign_key: "parent_id"
end
И это работает, но я застрял с внуками. Есть идеи?