假设我有使用Rails和MySQL的博客应用程序的Posts
和Comments
。什么是在rails中排名模型的最佳方式
我想按评论数排名帖子。 (注意:不只是排序,而是获得他们实际的第一,第二和第三等级)。
另外,给一篇文章,我希望能够得到它的等级,而不需要加载所有的帖子到Rails中并搜索它们。
例如“这篇文章的评论数排名#372”
最后,如果两个帖子的评论数量相同,他们应该有相同的评级 - 所以关系是好的。
我似乎已经在MySQL这一些聪明的解决方案,比如这个帖子: How do I Handle Ties When Ranking Results in MySQL?
我不知道是否有通过对帖子正常化的一些数据中的附加字段简单的解决方案表。
有没有人看到过这个好方法?
定义等级。您可以随时在帖子的缓存列中缓存评论数量,并搜索最大评论数量,但如果没有更详细的排名要求,我无法想到其他任何内容。 – 2011-04-12 11:25:13