複数のテーブルからデータを取得するための複雑なアクティブ レコード クエリを作成しています。クエリには join 、 select 、 order 、 group 、select where があります。
@posts = Post.published.paginate(:order => 'popularity desc, id',
:joins => [:comments, :images, :updates, :user],
:conditions => conditions,
:group => "posts.id",
:select => "posts.id*,
:per_page => 10,
:page => params[:page])
標準に従って where 、 joins などのシーケンスがどうあるべきかを知り、クエリのパフォーマンスを最大化する必要がありました。誰かがシーケンスを説明するクエリを書くことができれば、それは本当に素晴らしいことです
@posts = Post.published.joins(:comments, :images, :updates, :user).where(....