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'是一個集合。
我在做什麼錯?