Ruby on rails 如何在rails上获取最近24小时的数据
有一个模型Ruby on rails 如何在rails上获取最近24小时的数据,ruby-on-rails,ruby,sorting,activerecord,Ruby On Rails,Ruby,Sorting,Activerecord,有一个模型post。帖子由PM或用户创建。我想得到所有的职位,其中下午在过去24小时内创建的职位来顶部 我试着 posts.sort_by{|t| -t["role_id"] } 但是到了下午,所有的帖子都在上面。我想在顶部显示仅持续24小时的PM帖子。试试这个: Post.where('created_at>?',24小时前)。订单(role_id::asc)尝试以下操作: Post.where('created_at>?',24小时前)。order(role_id::asc)要确认您的问题
post
。帖子由PM或用户创建。我想得到所有的职位,其中下午在过去24小时内创建的职位来顶部
我试着
posts.sort_by{|t| -t["role_id"] }
但是到了下午,所有的帖子都在上面。我想在顶部显示仅持续24小时的PM帖子。试试这个:
Post.where('created_at>?',24小时前)。订单(role_id::asc)
尝试以下操作:
Post.where('created_at>?',24小时前)。order(role_id::asc)
要确认您的问题,您希望所有记录和排序为:
time = 24.hours.ago.strftime("%Y-%m-%d %M:%S")
Post.order("(created_at < '#{time}' && cont_term = 24) ASC")
time=24.hours.ago.strftime(“%Y-%m-%d%m:%S”)
Post.order((在ASC创建)
它将解析为0或1,因此您可以首先按此字段进行排序,并添加额外的order()子句以在这些组中进行排序。要确认您的问题,您希望所有记录和排序为:
time = 24.hours.ago.strftime("%Y-%m-%d %M:%S")
Post.order("(created_at < '#{time}' && cont_term = 24) ASC")
time=24.hours.ago.strftime(“%Y-%m-%d%m:%S”)
Post.order((在ASC创建)
它将解析为0或1,因此您可以首先按此字段排序,并添加额外的order()子句以在这些组中排序。我想获得所有由PM在过去24小时内创建的帖子位于顶部的帖子。
帖子。按{t | t.created_在<24.hours.ago???-t[“role|u id”]:t.id}排序。
我不完全理解您的逻辑要求,但是,您可以使用排序依据块中的任何条件来实现您想要的功能。t.role\u id==PM\u id&&t.created\u at然而,我建议将两个查询组合起来:Post.where('created\u at>?',24.hours.ago.).where(role\u id:PM\u id)
和Post.where('created|u at我想获得所有由PM在过去24小时内创建的帖子位于帖子顶部的帖子。按{t|t.created_at<24.hours.ago???-t[“role|u id”]:t.id}排序)
我不完全理解您的逻辑要求,但是您可以使用排序依据
块中的任何条件来实现您想要的结果。t.role\u id==PM\u id&&t.created\u at然而,我建议将两个查询组合起来:Post.where('created\u at>?),24.hours.ago.).where(role\u id:PM\u id)
和Post.where('created_at