Rails 3 ActiveRecord查询接口,由最近创建的每个父项的子项命令父项

时间:2011-04-20 16:04:07

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

嘿所有,我有一个模型线程,有很多帖子。

我想知道rails3我将如何按降序排序线程由哪个线程最近创建的帖子。

在segment / pseudocode中,这就是我想要做的事情

为每个帖子找到最近创建的帖子 以某种方式将该发布日期与其相关帖子结合起来 按此相关的发布日期按升序排列我的主题

1 个答案:

答案 0 :(得分:0)

我认为这里最好和最佳的性能解决方案是使用touch选项:

class Post < ActiveRecord
  belongs_to :thread, :touch => true
end

所以你可以找到最后一个活动的Threads:

Thread.order("updated_at DESC").limit(10)

如何查询...您可以尝试通过子对象找到它:

active_threads = Post.includes(:threads).order("created_at DESC").all.map(&:thread).uniq