rails对嵌套资源进行分类

时间:2011-07-30 02:17:39

标签: ruby-on-rails ruby ruby-on-rails-3

我的用户拥有嵌套资源帖子。我有一个页面显示所有用户的所有帖子。但是,在左栏中,我希望按用户对其进行分类,如下所示,并指向带有?username=laura等参数的网址链接,以便仅显示其帖子。我很确定我可以找出URL参数,但如下所示,对它们进行排序对我来说很难。有什么建议?谢谢!

Adam (23)

Brad (12)

Mike (1)

2 个答案:

答案 0 :(得分:0)

Users.includes(:posts).map{|u| [u.name, u.posts.count, u.id]}.sort

将为您提供排序的用户数组,帖子计数和用户ID,如

[
 ["Adam", 23, 23],
 ["Brad", 12, 2],
 ["Mike", 1, 44]
]

您可以为此用户指定链接的前两个元素以及链接目标的用户ID。

成千上万的用户和/或帖子可能会变慢,但它应该让你开始。

答案 1 :(得分:-1)

你应该对它们进行排序:

@sorted_users = users.sort { |left,right| left.posts.count <=> right.posts.count }

另外,如果你有一个cache_column用于帖子,你应该使用数据库来实现它。