我有像下面的關聯設置,但我得到的錯誤/ Rails拋出的異常告訴我,我沒有正確設置關聯。ActiveRecord有許多通過兩個是多態
這是我有:
class Case
has_many :case_accesses, as: :policy, inverse_of: :case, dependent: :destroy
has_many :agents, through: :case_accesses, source: :ownable, source_type: 'Agent'
end
class CaseAccess
belongs_to :policy, polymorphic: true
belongs_to :ownable, polymorphic: true
end
class Agent
has_many :case_accesses, as: :ownable, dependent: :destroy
has_many :cases, through: :case_accesses
end
Rails中的錯誤:
找不到源協會(S) 「的情況下」 或者:模型CaseAccess情況。試試'has_many:cases,:through =>:case_accesses,:source =>'。它是一種政策,連接還是可以持有的?
我試着將源代碼設置爲可擁有並且在查詢中導致問題。我應該如何設置這種關聯?這是一個傳統的有很多通過,除了一方policy
可以是Case
或Ppae
類型,並且ownable
可以是Agent
或User
類型。
列於表:
Case
-id
CaseAccess
-id
-policy_id
-policy_type
-ownable_id
-ownable_type
Agent
-id
能否請您也張貼每一列這些表格 - 僅供參考 – ZubatMan
是,編輯OP。 – Noah