2016-03-08 56 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 | %> .....「它只打印第一個日期。 –