Rails: получение результатов для полиморфной ассоциации - PullRequest
1 голос
/ 05 апреля 2011

У меня настроена следующая полиморфная ассоциация:

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 Ответ

1 голос
/ 05 апреля 2011

Вы можете использовать Интерфейс запросов Active Record для этого:

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

Это вернет объекты Array of Photo (вместе с объединенными полями из Favorite), которые избрал конкретный пользователь. Вам нужно будет передать user_id для этого вызова.

...