制作论坛应用。
class Topic < ActiveRecord::Base
belongs_to :user
belongs_to :board
has_many :posts, :inverse_of => :topic
end
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :topic, :inverse_of => :posts
end
查看主席时,我希望主题列表按主题上一篇文章created_at日期的顺序排列。但是,我无法弄清楚如何以order()方法可以理解的方式编写它。
理想情况下,它会像这样简单
@topics = @board.topics.order("topic.posts.last.created_at")
我写的任何内容都会返回有关该列不存在的错误。
需要注意的一件重要事情是,此@topics
将被输入分页,因此我不能简单地提取@board.topics
的结果,自己订购然后分页,因为分页需要特定的收集类型。
答案 0 :(得分:0)
使用sort:
@topics = @board.topics.sort{|t| t.posts.last.created_at
}