2016-11-04 10 views
0

私のアプリケーションには、Gmailスタイルのdivを持つモバイルビューが含まれています。各部門には、件名、氏名、期日があります。RoR:期日の代わりに期日を表示するには?

[期限]列は、通常の日時の値です。

私が探しているのは、ビューの最初のエントリを過去6日間の日として表示し、残りをdatetimeとして表示させることです。例えば

月 火 水 水 木 金 2016年11月4日 2016年11月3日 .....

など

どのようにこれを達成するのが最善でしょうか?私はこの質問のコードを投稿する必要はないと思っていますが、必要ならば私はします。

ありがとうございます! (私は正しい構文を持っている場合ではないことを確認...)EDIT

に動作していない

...ビューで

... ApplicationControllerには

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

...

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 'を得る。私の見解では:@ Co2 'helper_method'は*ヘルパーメソッドがビューヘルパーとして利用できるようにするために使用されていますが、あなたはそれを必要としません(<%= homework.formatted_date(due)%> – Co2

+0

)あなたのメソッドが 'ApplicationHelper'で定義されている場合。 –

+0

@SteveTurczynお手数をおかけしていただきありがとうございます。まだ動作していない、私はOPを更新しました。おそらく私は正しく守らなかったでしょうか? – Co2

関連する問題