我的小组模型has_many发布,发布have_many评论。
当我在一个组上显示帖子时,我想要按最近评论的创建时间排序,如果有帖子上的话,或者按帖子本身的created_at排序。
因此,如果一个旧的帖子有新的评论,它就会跳回到列表的顶部。
发布于 2012-11-28 20:32:42
我会坚持一种稍微不同的方法:您的Comment belongs_to :post和belongs_to接受:touch选项。将其设置为true,您的帖子的updated_at将在评论修改时自动更新。这样你就可以自由地展示你的帖子,按照他们的updated_at排序。
发布于 2012-11-28 20:34:36
您可以在posts表中添加commented_at:datetime列,然后将before_create回调添加到Post模型中:
before_create :set_default_commented_at
def set_default_commented_at
self.commented_at ||= Time.now
end和add :触摸到评论模型的belongs_to关联:
belongs_to :post, touch: :commented_at毕竟,您将能够按commented_at列进行排序。
https://stackoverflow.com/questions/13604931
复制相似问题