0

假设我在 Rails 应用程序中有一系列嵌套资源(MagazineEditionAd),因此杂志有很多版本,随后会有很多广告。

如何进行查询以在给定杂志的所有版本中制作所有广告,然后按创建日期对它们进行排序?

理想情况下,我想使用单个 SQL 查询生成一个包含所有结果的数组,而不是为每个版本进行查询然后组合后续数组。

4

1 回答 1

1

使用 has_many :through。

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

@magazine.ads.order('created_at')

编辑 阅读 has_many :through 上的文档。这是强大的东西。

于 2011-10-09T07:10:39.137 回答