Как определить модель Person, чтобы любое лицо могло быть назначено родителем другого лица (как показано в консоли Rails ниже)? Какие столбцы вам нужно определить в процессе миграции, создав таблицу для Person?Рельсы ActiveRecord. как я могу справиться с принадлежностью более чем одной?
irb(main):001:0> john = Person.create(name: "John")
irb(main):002:0> jim = Person.create(name: "Jim", parent: john)
irb(main):003:0> bob = Person.create(name: "Bob", parent: john)
irb(main):004:0> john.children.map(&:name)
=> ["Jim", "Bob"]
Я unserstand чем ответ что-то около
class People < ActiveRecord::Base
has_many :children, class_name: "People", foreign_key: "parent_id"
belongs_to :parent, class_name: "People" #Question HERE? how to deal with belong_to more than one?
end
class AddXXTOXXX <ActiveRecord::Migration
def change
create_table :peoples do |t|
t.add_column :name, string
t.add_column :parent, string
t.references :parent, index: true
t.timestamps
end
end
end
Но что смущает меня то, что каждый человек имеет двух родителей (мама и папа), так что делает belongs_to еще работать в этом случае сценария?
Я думаю, эта ссылка должна помочь вам https://heurionconsulting.wordpress.com/2007/05/29/using-belongs_to-to-connect-different-classes/ –