我試圖做一個應用程序,其中用戶有很多項目,並且他們通過擁有每個項目都是一個實體。這背後的想法是,如果我有一個MacBook項目,例如,用戶將其添加到他們的庫存,他們可能會應用屬性(照片,評論,標籤等),而不直接影響他們項目本身,只有他們的佔有。has_many:通過對象inehertiance
該項目將依次彙總其相應的財產(如果你去/ item/MacBook,而不是/ user/101 /擁有/ 5)屬性。我有以下模型設置(忽略像現在的照片屬性)。
class User
has_many :possessions
has_many :items, :through => :possessions
end
class Item
has_many :possessions
has_many :users, :through => possessions
end
class Possession
belongs_to :user
belongs_to :item
end
我的第一個問題是,我是否正確地做這件事。 has_many:通過正確的工具在這裏?
如果是這樣,我會如何處理類繼承?我可能沒有說明這一權利,但我的意思是,如果我這樣做
@possession = Possession.find(params[:id])
@photos = @possession.photos.all
,有沒有可用的照片,怎麼會回落到相應的項目和搜索屬於照片它?