Rails:拉取多态关联的结果

时间:2011-04-05 18:47:11

标签: ruby-on-rails associations polymorphic-associations polymorphism

我设置了以下多态关联:

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 个答案:

答案 0 :(得分:1)

您可以使用Active Record Query Interface

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

这将返回特定用户已收藏的Photo对象数组(以及来自Favorite的连接字段)。你必须将user_id传递给这个电话。