私はそのPost
モデルを持っていhas_many :comments
ます。問題は、 ActiveRecord Query Interfaceを使用して、すべての投稿と各投稿の最後のコメントを取得するクエリを作成するにはどうすればよいかということです。
私が今持っているのは次のとおりですが、コメントはフィルタリングされておらず、次に何をすべきかわかりません。
Post.includes(:comments)
私はそのPost
モデルを持っていhas_many :comments
ます。問題は、 ActiveRecord Query Interfaceを使用して、すべての投稿と各投稿の最後のコメントを取得するクエリを作成するにはどうすればよいかということです。
私が今持っているのは次のとおりですが、コメントはフィルタリングされておらず、次に何をすべきかわかりません。
Post.includes(:comments)
最も単純なことは、スコープを作成することです。
class Post < ActiveRecord::Base
# has_many or maybe a has_one ? I don't have time to fire up console again to check, sorry!
has_many :last_comment, :class_name => 'Comment', :limit => 1, :order => 'comments.created_at DESC'
end
そして、使用します
Post.includes(:last_comment)
SQL にインデックスがあることを確認してください。