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