0

Railsアプリケーションに一連のネストされたリソース(Magazine、、、EditionおよびAd)があるとします。たとえば、雑誌には多くのエディションがあり、その後に多くの広告があります。

特定の雑誌のすべてのエディションですべての広告を作成し、作成日などで並べ替えるクエリを実行するにはどうすればよいですか?

理想的には、エディションごとにクエリを実行してから後続の配列を結合するのではなく、単一の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 に答える