2009-05-30 13 views
0

Dans la section de boîte aux lettres de mon application Rails, j'afficher simplement les horodatages de chaque message comme suit:Affichage du temps conditionnel

<%= message.created_at.utc %> 

Mais je veux changer de sorte que si la date du message est différent aujourd'hui, puis affichez la date, sinon affichez simplement l'heure (par exemple, comme Gmail).

Répondre

1

Essayez de mettre quelque chose comme ça dans une aide:

def time_or_date(date) 
    date.today? ? date.strftime('%H:%M') : date.strftime('%d/%m') 
end 

Vous pouvez alors l'appeler de votre point de vue comme celui-ci:

<%= time_or_date(message.created_at.utc) %> 

Vous pouvez modifier strftime il correspond à votre besoins: http://www.ruby-doc.org/core/classes/Time.html#M000297