1
我有以下关联。 PropertyOwner是一个连接模型,属于一个属性,多态属于一个所有者,在下面的例子中是ForeclosureDefense。一切正常,直到我有了has_one:main_property。这个想法是ForeclosureDefense模型可以有很多特性,但是最后一个属性是主要的属性:不能有一个has_one:通过关联'其中:通过关联是一个集合
class ForeclosureDefense < ActiveRecord::Base
has_many :property_owners, as: :owner
has_many :properties, through: :property_owners
has_one :main_property, through: :property_owners, source: :property, order: 'created_at desc'
end
class PropertyOwner < ActiveRecord::Base
belongs_to :property
belongs_to :owner, polymorphic: :true
end
class Property < ActiveRecord::Base
has_many :property_owners
has_many :owners, through: :property_owners
has_many :foreclosure_owners, through: :property_owners, source: :owner, source_type: "ForeclosureDefense"
has_many :folder_owners, through: :property_owners, source: :owner, source_type: "Folder"
end
不幸的是,当我尝试使用HAS_ONE:main_property协会,我得到以下错误:
ActiveRecord :: HasOneThroughCantAssociateThroughCollection:不能有has_one:通过关联'ForeclosureDefense#main_property'其中:通过关联'ForeclosureDefense#property_owners'是一个集合。
我在做什么错?