发布表
int id
评论表
int id
int post_id
datetime created_at
我需要通过帖子的评论created_at来订购帖子。我尝试了类似的东西,但我不能选择明显的帖子ID。任何帮助将不胜感激。
Post.all(:joins => :comments, :order => 'comments.created_at')
我希望看到最近评论过的帖子。
答案 0 :(得分:0)
您传递的条件无效。
您可以通过在帖子表中添加一列来说明最简单的方法,即last_commented_at
。
在您的Comment
模型中添加回调
class Comment < ActiveRecord::Base
belongs_to :post
after_save :update_posts_last_commented_attribute
def update_posts_last_commented_attribute
post.update_attribute(:last_commented_at, updated_at)
end
end
然后你可以通过调用
加载你的帖子Post.order("last_commented_at DESC" )
首先显示帖子,最近已评论过。