Ruby on rails 按在创建的关联排序,如果没有关联,则按自己创建的排序
我的小组模型有很多帖子,帖子有很多评论 当我在一个组中显示帖子时,我想按照最近评论的创建地址(如果有)或帖子本身的创建地址进行排序Ruby on rails 按在创建的关联排序,如果没有关联,则按自己创建的排序,ruby-on-rails,sorting,associations,Ruby On Rails,Sorting,Associations,我的小组模型有很多帖子,帖子有很多评论 当我在一个组中显示帖子时,我想按照最近评论的创建地址(如果有)或帖子本身的创建地址进行排序 因此,如果一篇旧帖子有新的评论,它会跳回列表的顶部。我会坚持一种稍微不同的方法:你的评论属于:post和属于接受:touch选项。将其设置为true,您的帖子的updated\u at将在评论修改时自动更新。通过这种方式,您可以在上自由显示按其更新的排序的帖子。我会坚持一种稍微不同的方法:您的评论属于:帖子和属于接受:触摸选项。将其设置为true,您的帖子的upda
因此,如果一篇旧帖子有新的评论,它会跳回列表的顶部。我会坚持一种稍微不同的方法:你的
评论属于:post
和属于
接受:touch
选项。将其设置为true
,您的帖子的updated\u at
将在评论修改时自动更新。通过这种方式,您可以在上自由显示按其更新的排序的帖子。我会坚持一种稍微不同的方法:您的评论属于:帖子
和属于
接受:触摸
选项。将其设置为true
,您的帖子的updated\u at
将在评论修改时自动更新。通过这种方式,您可以自由显示按其更新位置排序的帖子
您可以将注释日期时间列添加到帖子表中,然后在创建回调之前添加到帖子模型中:
before_create :set_default_commented_at
def set_default_commented_at
self.commented_at ||= Time.now
end
并添加:触摸到属于注释模型的关联:
belongs_to :post, touch: :commented_at
毕竟,您可以在列中按注释进行订购。您可以将注释的日期列添加到posts表中,然后在创建回调之前添加到Post模型中:
before_create :set_default_commented_at
def set_default_commented_at
self.commented_at ||= Time.now
end
并添加:触摸到属于注释模型的关联:
belongs_to :post, touch: :commented_at
毕竟,您可以在列中按注释进行订购