我终于想出了让用户通过联合模型保存收藏夹的方法。这是我的用户模型:
has_many :pictures, :through => :favorites
如果我想获取用户收藏的图片,我可以致电
@pictures = user.pictures
最初,这会显示所有用户的上传而不是收藏,但我仍然希望能够显示所有上传内容。我希望能够为所有上传调用@ user.pictures,并为他们的收藏调用@ user.favorite_pictures。我试过这个,但它不起作用:
has_many :pictures
has_many :favorites
has_many :pictures, :through => :favorites, :as => :favorite_pictures
### @user.favorite_pictures produces an error
提前致谢
答案 0 :(得分:4)
错误在于你的第3行,
has_many :pictures, :through => :favorites, :as => :favorite_pictures
您已定义:pictures
,:as
选项仅用于多态关联。试试这个:
has_many :favorite_pictures, :through => :favorites, :source => :picture