ruby-on-rails - rails 对嵌套资源进行分类

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

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

Adam (23)

Brad (12)

Mike (1)

最佳答案

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

将为您提供一个已排序的用户数组、帖子数和用户 ID,例如

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

您可以使用链接的前两个元素和链接目标的用户 ID。

对于成千上万的用户和/或帖子,这可能会变慢,但它应该可以帮助您入门。

关于ruby-on-rails - rails 对嵌套资源进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880676/

相关文章:

ruby-on-rails - 有人知道在 Amazon S3 上存储 Rails 页面缓存的简单方法吗?

mysql - Rails 时间戳 : complex order by updated_at/created_at

ruby-on-rails-3 - 为什么我在 Rails 3.2.1 上的 "boot time"的 `rake test:units` 这么慢?

mysql - 在我的案例中并行运行数据导入

ruby-on-rails - 传递获取请求而不是来自 new.html 的发布请求

ruby-on-rails - 将表示逻辑放在 Controller 中是 Ruby 中的一个好习惯吗?

ruby-on-rails - form_for 和 form_tag 的区别?

ruby - `Mutex#synchronize` 与 `ConditionVariable#signal` 一起使用的目的

mysql - Rails 应用程序的 utf8mb4 字符集

ruby - 在 Ruby 中使用 Net::HTTP 创建带有 header 信息的 HTTP POST 请求