2016-11-04 50 views
0

我的應用程序包含Gmail樣式div的移動視圖。每個div都有主題,名稱和截止日期。RoR:如何顯示到期日而不是到期日?

截止日期列是正常的日期時間值。

我期望做的是讓視圖中的第一個條目顯示爲過去6天的日期,然後其餘顯示爲日期時間。

例如:

週一週二 週三 週三 週四 週五 2016年11月4日 2016年11月3日 .....

這怎麼能最好地實現?我不認爲我需要爲這個問題發佈代碼,但如果需要,我會發布。

謝謝!

編輯

不工作...

鑑於...

<font size="1"><strong>Due:</strong> <%= homework.formatted_date(due) %></font>&emsp;&ensp; 

在ApplicationController中......(不知道我是否有語法正確的...)

helper_method :formatted_date 

def formatted_date(due) 
    if (Date.today - due).abs < 6 
    due.strftime('%A') 
    else 
    due.strftime('%Y/%m/%d') 
    end 
end 

視圖加載但日期顯示與befo相同再...

回答

2

爲您的視圖助手...把它放在ApplicationController中

helper_method :formatted_date 

def formatted_date(item_date) 
    if (Date.today - item_date).abs < 6 
    item_date.strftime('%A') 
    else 
    item_date.strftime('%Y/%m/%d') 
    end 
end 

然後在您的視圖,而不是顯示object_date秀場formatted_date(object_date)

+0

謝謝你,我把你的建議完全在Application Helper中,但爲ApplicationHelper:Module獲取未定義的方法'helper_method'。在我看來:<%= homework.formatted_date(due)%> – Co2

+0

@ Co2'helper_method'用於* controllers *以使視圖助手可用的方法,您不需要如果你的方法是在'ApplicationHelper'中定義的。 –

+0

@SteveTurczyn感謝您的幫助。它還沒有工作,我已經更新了OP。也許我沒有正確遵守? – Co2

相關問題