Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何按日期对帖子进行分组_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 如何按日期对帖子进行分组

Ruby on rails 如何按日期对帖子进行分组,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我试图从我的数据库中检索帖子,并按发布日期排序 像这样: 2018年7月11日 邮政6 邮政5 2018年7月10日 邮政4 职位3 2018年7月9日 职位2 职位1 我现在知道如何订购:desc或:asc,但我不知道的是如何显示它创建的日期。假设今天创建了10个帖子,昨天创建了3个。我想在帖子上方显示日期,在今天的十个和昨天的三个上方显示日期。您需要使用group_by,以便将数据与group区分开来。 请使用下面的查询 Post. group_by { |post| post.

我试图从我的数据库中检索帖子,并按发布日期排序

像这样:

2018年7月11日

邮政6 邮政5 2018年7月10日

邮政4 职位3 2018年7月9日

职位2 职位1
我现在知道如何订购:desc或:asc,但我不知道的是如何显示它创建的日期。假设今天创建了10个帖子,昨天创建了3个。我想在帖子上方显示日期,在今天的十个和昨天的三个上方显示日期。

您需要使用group_by,以便将数据与group区分开来。 请使用下面的查询

Post.
  group_by {
    |post| post.created_at.strftime("%d/%m/%y")
  }

作为响应,您将得到散列,键是date,值包含该日期的记录。

您尝试了什么?那么它有什么问题呢。只需按日期降序排序。请检查并以您的问题为例。我知道如何按描述顺序排序,但我不知道如何显示上述帖子。例如,如果今天创建了10个帖子。这就是我不知道的。请用ruby方法查看组。太好了。。如果我想在分组帖子而不是单个帖子上显示日期,该怎么办?您将在散列中获得所有日期,因此如何在视图中显示日期取决于您