5
我有以下Person
類有一個父母也是另一個人。我似乎無法弄清楚如何讓關係發揮作用。has_one與同類的關係
class Person < ActiveRecord::Base
attr_accessible :mom, :dad
has_one :mom, :class_name => 'Person', :primary_key => "mom_id", :foreign_key => "id"
has_one :dad, :class_name => 'Person', :primary_key => "dad_id", :foreign_key => "id"
end
我已將「mom_id」和「dad_id」作爲整數添加到具有遷移的模型中。但是,當我使用rails console
時,在設置mom_id
和dad_id
後,我無法訪問mom
或dad
屬性。他們仍然返回nil
。
任何指向我在做什麼錯?
如果你這樣做的時候,將不是Person對象被創建無限數量。 'Person1有一個人擁有另一個擁有第三個人的人,等等......' – ShaggyInjun
好吧,數據庫只有這麼大,所以它不能是無限的......但理論上,是的。這只是我實際使用情況的一個簡單例子,但它沒有這個問題。 – jasonlfunk
'has_one'並不意味着一個模型必須有另一個模型。它實際上意味着它最多隻能有一個對象。 – cdesrosiers