SQL-запрос Rails 3 внутри вложенных ресурсов

Скажем, у меня есть ряд вложенных ресурсов (Magazine, Edition и Ad) в приложении Rails, так что у журналов есть много изданий, которые впоследствии содержат много рекламы.

Как я могу сделать запрос для создания всех объявлений во всех выпусках данного журнала, а затем упорядочить их, например, по дате создания?

В идеале я хотел бы создать массив со всеми результатами, используя один запрос SQL, а не выполнять запрос для каждого выпуска с последующим объединением последующих массивов.


person Ryan Atallah    schedule 09.10.2011    source источник


Ответы (1)


Используйте has_many: through.

class Magazine < ActiveRecord::Base
  has_many :editions
  has_many :ads, :through => :editions
end

@magazine.ads.order('created_at')

изменить Прочтите документацию по has_many :через. Это мощная штука.

person bricker    schedule 09.10.2011