2010-09-01 3 views
0

Actuellement, je donne les résultats suivants dans mon aide:Rails "il y a quelques instants" au lieu de la date créée?

def created_today k 
    if k.created_at.to_date == Date.today then 
    content_tag(:span, 'Today', :class => "todayhighlight") 
    else 
    k.created_at.to_s(:kasecreated) 
    end 
end 

Ce que je voudrais faire est de remplacer aujourd'hui avec MOMENTS AGO si le temps est created_at au cours des 10 dernières minutes.

Est-ce possible? Est-ce que j'ajouterais simplement une autre ligne 'if' après l'actuelle 'if k.created_at.to_date == Date.today then'?

Merci,

Danny

MISE À JOUR:

def created_today k 
    if k.created_at.to_date == Date.today then 
    content_tag(:span, 'Today', :class => "todayhighlight") 

    if k.created_at > 1.minutes.ago then 
    content_tag(:span, 'Moments Ago', :class => "todayhighlight") 

    else 
    k.created_at.to_s(:kasecreated) 
    end 
end 

Répondre

1

Vous pouvez faire

if k.created_at > 10.minutes.ago then 
    ... 
elsif k.created_at.to_date == Date.today then 
    ... 
else 
    ... 

Notez que vous devez mettre le chèque de 10 minutes avant la aujourd'hui- vérifier car une date inférieure à 10 minutes est plus probable le même jour.

+0

Salut Sven, qui fonctionne à la place de l'instruction if actuelle. Comment puis-je combiner plusieurs? Voir la question mise à jour. – dannymcc

+0

Mis à jour ma réponse. Est-ce clair maintenant? –

+0

A travaillé un charme, merci! – dannymcc