【发布时间】:2011-07-30 13:33:14
【问题描述】:
我的用户拥有嵌套资源帖子。我有一个页面显示所有用户的所有帖子。但是,在左栏中,我想按用户对它们进行分类,如下所示,其中包含指向带有 ?username=laura 之类参数的 URL 的链接,例如,仅显示他们的帖子。我很确定我可以找出 URL 参数,但是如下所示对它们进行排序对我来说很困难。有什么建议么?谢谢!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3
我的用户拥有嵌套资源帖子。我有一个页面显示所有用户的所有帖子。但是,在左栏中,我想按用户对它们进行分类,如下所示,其中包含指向带有 ?username=laura 之类参数的 URL 的链接,例如,仅显示他们的帖子。我很确定我可以找出 URL 参数,但是如下所示对它们进行排序对我来说很困难。有什么建议么?谢谢!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3
Users.includes(:posts).map{|u| [u.name, u.posts.count, u.id]}.sort
会给你一个排序的用户数组、帖子计数和用户 ID,比如
[
["Adam", 23, 23],
["Brad", 12, 2],
["Mike", 1, 44]
]
您可以为该用户提供链接的前两个元素和链接目标的用户 ID。
如果有成千上万的用户和/或帖子,这可能会变慢,但它应该可以帮助您入门。
【讨论】:
你应该对它们进行排序:
@sorted_users = users.sort { |left,right| left.posts.count <=> right.posts.count }
另外,如果你有一个用于帖子的 cache_column,你可能应该使用数据库来实现它。
【讨论】: