我想有一种奇怪的联想。可以说我有以下课程:
class Kid < ActiveRecord::Base
belongs_to :parent
has_one :friend
end
class Friend < ActiveRecord::Base
belongs_to :kid
end
class Parent < ActiveRecord::Base
has_many :kids
has_one :friend, :through => :kid #This is the "problematic line"
end
我知道最后一个关系(has_one :friend
)是不可能的并且没有意义。但是可以说我知道第一个孩子的朋友总是有足够的信息用于我的父母实例,所以我想像'parent.friend'一样得到它而不是parent.kids.first.friend