在铁路中按月分隔日期

时间:2015-08-05 14:06:00

标签: mysql ruby-on-rails postgresql

我在rails中了解到您可以使用控制器查询数据,这就是我一直在做的事情。

但是说我有一个日期列表,我想在每个月下直观地显示它们:

August:
14/08/2015
25/08/2015
September:
12/09/2015
19/09/2015
October:
3/10/2015
8/10/2015
November:
25/11/2015
5/11/2015

现在我可以通过控制器查询每个月,但在我看来这是非常低效的。结果你可以在视图中做这样的事情吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Ruby的集合group_by method对结果进行分组:

@items_by_month = @items.group_by{|x| x.created_at.month}

它将产生具有以下结构的哈希:

{
  # January
  1 => [item1, item2, ...],
  # February
  2 => [item3, item4, ...],
  # ... and so on
}

然后你可以在你的视图中迭代那个哈希。