Ruby on rails Rails 3:通过计算关联来确定模型受欢迎程度的最快方法

Ruby on rails Rails 3:通过计算关联来确定模型受欢迎程度的最快方法,ruby-on-rails,Ruby On Rails,假设我有一个有很多评论的帖子模型。我想根据评论最多的人获得前10名最受欢迎的帖子。假设我有数十万个帖子,那么获得这10个顶级帖子的最有效方式是什么 另外,如何缓存该查询 谢谢 我建议您在Post上添加一个名为comments\u count的计数器缓存列。在此列上添加索引,然后您可以通过以下方式选择最受欢迎的帖子: # app/models/post.rb scope :popular, lambda { order("comments_count DESC").limit(10) } 查看

假设我有一个有很多评论的帖子模型。我想根据评论最多的人获得前10名最受欢迎的帖子。假设我有数十万个帖子,那么获得这10个顶级帖子的最有效方式是什么

另外,如何缓存该查询


谢谢

我建议您在
Post
上添加一个名为
comments\u count
的计数器缓存列。在此列上添加索引,然后您可以通过以下方式选择最受欢迎的帖子:

# app/models/post.rb
scope :popular, lambda { order("comments_count DESC").limit(10) } 

查看文档以了解有关计数器缓存的更多信息。

杰里科,这是一个非常好的建议。非常感谢。