1

我有以下的多態關聯設置:導軌:拉動效果的多態關聯

class Favorite < ActiveRecord::Base 
    belongs_to :favoritable, :polymorphic => true 
    belongs_to :user 
end 

class Photo < ActiveRecord::Base 
    has_many :favorites, :as => :favoritable 
    belongs_to :user 
end 

我最終想要做的就是把所有特定用戶收藏的照片。

我該如何做到這一點?

回答

1

您可以使用Active Record Query Interface此:

Photo.joins(:favorites).where("favorites.user_id = ?", user_id)

這將返回照片對象的數組,一個特定的用戶已收藏(從最喜歡的聯接字段一起)。您必須將user_id傳遞給此調用。