Baby
принадлежит как Mother
, так и Father
belongs_to :mother
belongs_to :father
. Вы можете иметь несколько внешних ключей.В таблице Baby
DB есть два поля: mother_id
и father_id
. Здесь вы найдете полное руководство по ассоциациям: http://guides.rubyonrails.org/association_basics.html
Миграция для создания класса Baby
будет выглядеть примерно так:
class CreateBabies < ActiveRecord::Migration
def self.up
create_table :babies do |t|
t.integer :father_id
t.integer :mother_id
end
end
def self.down
drop_table :babies
end
end
Это дает вам такие вещи, как: baby.mother
и baby.father
.Вы не можете иметь один parental_id
, потому что внешний ключ может указывать только на одну другую запись, что означает, что у детей будет только один родитель (если на самом деле их двое).
Похоже, в этом случаеТы просто неправильно понимаешь отношения, вот и все.Вы на правильном пути.