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