在Rails中通过相关类created_at进行排序

时间:2011-11-30 07:52:08

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

我有一个模型用户与相关的类(用户has_many帖子,帖子belongs_to用户)。我想在列表中显示用户,最近发布的用户位于顶部。所以基本上我想按照上一篇文章的created_at日期订购用户列表。在Rails 3中查询此问题的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

我想我会通过拉取帖子,按created_at排序并在user_id上进行分组来完成此操作。

答案 1 :(得分:1)

也许尝试这样的事情。

class User < ActiveRecord::Base
  has_many :posts

  has_one :last_post, :order => 'created_at DESC', :class_name => "Post"

  scope :sort_by_last_post_desc, :include => :last_post, :order => ('posts.created_at DESC')
end

注意:未经测试