#sql #ruby-on-rails #nested-resources
#sql #ruby-on-rails #вложенные ресурсы
Вопрос:
Допустим, у меня есть ряд вложенных ресурсов ( Magazine
, Edition
, и Ad
) в приложении Rails, так что в журналах много изданий, в которых впоследствии много рекламы.
Как я могу выполнить запрос для создания всех объявлений во всех выпусках данного журнала, а затем упорядочить их, например, по дате создания?
В идеале я хотел бы создать массив со всеми результатами, используя один SQL-запрос, в отличие от выполнения запроса для каждого издания, а затем объединения последующих массивов.
Ответ №1:
Используйте has_many :through .
class Magazine < ActiveRecord::Base
has_many :editions
has_many :ads, :through => :editions
end
@magazine.ads.order('created_at')
редактировать Прочитайте документы по has_many: до конца. Это мощная штука.