2011-06-18 127 views
1

我終於想出了一個辦法,讓用戶通過連接模型保存收藏。這裏是我的用戶模型:有帶的has_many麻煩:通過關聯

has_many :pictures, :through => :favorites 

如果我想獲得用戶收藏的照片,我可以叫

@pictures = user.pictures 

本來,這將顯示所有用戶的上傳,而不是我的最愛,但我還是想能夠顯示他們所有的上傳。我希望能夠爲所有上傳和@ user.favorite_pictures調用@ user.pictures獲取他們的收藏。我想這一點,但沒有奏效:提前

has_many :pictures 
has_many :favorites 
has_many :pictures, :through => :favorites, :as => :favorite_pictures 

### @user.favorite_pictures produces an error 

感謝

回答

4

的錯誤就在於你的第3行,

has_many :pictures, :through => :favorites, :as => :favorite_pictures 

您已經定義:pictures:as選項只用於多態關聯。試試這個:

has_many :favorite_pictures, :through => :favorites, :source => :picture 
+0

太謝謝你了!完美的作品。 – David