0
我正在尋找一個地理緩存應用程序,用戶可以在其中創建新緩存或訪問現有緩存。下面是型號:與連接表和多個別名的多對多關聯
class User < ApplicationRecord
has_many :usercaches
has_many :visited_caches, source: :caches, through: :usercaches
has_many :created_caches, class_name: :caches
end
class Cache < ApplicationRecord
has_many :usercaches
has_many :visitors, source: :users, through: :usercaches
end
class Usercache < ApplicationRecord
belongs_to :user
belongs_to :cache
end
連接表看起來它確實是因爲我一直在試圖消除與資本化或多元化的任何潛在錯誤的方式。每當我創建的Rails控制檯的用戶和嘗試看看new_user.visited_caches
,我得到以下錯誤:
ActiveRecord::HasManyThroughSourceAssociationNotFoundError: Could not find the source association(s) :caches in model Usercache. Try 'has_many :visited_caches, :through => :usercaches, :source => '. Is it one of user or cache?
當我重新安排的建議的關聯,但是,錯誤是一樣的。是否有一些我想念的小細節,還是我正在爲完成我想要的完全不正確的範式工作?