2016-03-08 36 views
0

这是一个棘手的表达,我会给它一个镜头: 我已经定义了@model = Model.all,其中包括depart_atarrive_at。我现在需要在日期组中通过这些。 (每个都是数据库中的日期时间)。
我试过几件事,但我似乎无法得到任何东西在这里工作。根据内容将每个块拆分为块

<% @departure_times.each do |departure_time| %> 

<% end %> 

是当前的代码。我似乎无法在Rails API中找到任何关于我可以做的事情,以便在depart_at日期之前完成。

编辑:
预期的结果是一样的东西:

**date** - 10:15, 11:15, 20:30 
**date** - 11:15, 12:30, 14:15 

等 - 这样做的意义,是集团通过时间戳的日期输出。

+2

请显示期望的输出。 – mudasobwa

+0

预期输出添加到问题中。 –

回答

1

人们可能会在控制器准备分块阵列:

@dt_grouped = @departure_times.group_by do |departure_time| 
    Date.parse(departure_time.depart_at.to_s).to_s 
end 

这将产生一个Hash实例像:

{ '2016-03-08' => [dt1, dt2, dt3,...], ...} 

,然后在视图:

<% @dt_grouped.each do |date, times| %> 
    <%= date %> — <%= times.join ', ' %> 
<% end %> 
+0

之前没有真正想到这个!我是否正确,假设Date.parse仅返回日期? –

+0

试试:)嗯,是的,它的确如此。 – mudasobwa

+0

看来,通过以下代码:'<%@ dt_grouped.each do | date,times | %> <%times.each do | departure_time | %> .....“它只打印第一个日期。 –