【发布时间】:2013-10-16 09:14:02
【问题描述】:
我在 Rails 中创建一个基本论坛。我有一个有很多主题的论坛,并且主题有很多帖子。我想获取特定论坛的所有主题,并以第一个是拥有最新帖子的主题的方式对它们进行排序。
在我的帖子存储库中,我有一个可以返回最新帖子的方法。
def latest_post
order('created_at DESC').limit(1).first
end
在 Threads 类中,我有一个方法调用 latest_post,它返回最新的帖子
def latest_post
self.posts.latest_post
end
我以以下方式使用该方法来获取线程的最新帖子。
@some_thread.posts.latest_post
现在我想获取线程的有序列表。我尝试为 Thread 类添加一个默认范围,以便默认对其进行排序。
default_scope order('latest_post.created_at DESC')
这不起作用。我相信由于排序的 latest_post 部分不在数据库级别。
如何根据最新帖子的创建日期对主题进行排序。它不需要是默认排序。
【问题讨论】:
标签: ruby-on-rails ruby activerecord forum