Rails“片刻之前”而不是创建日期?

时间:2010-09-01 14:07:43

标签: ruby-on-rails datetime date

目前,我的帮助者中有以下内容:

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

如果created_at时间在过去10分钟内,我想做的是将今天替换为MOMENTS AGO。

这可能吗?

我会在当前'if k.created_at.to_date == Date.today then'之后添加另一个'if'行吗?

谢谢,

丹尼

更新:

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

1 个答案:

答案 0 :(得分:1)

你可以做到

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

请注意,您必须在今天检查之前进行10分钟检查,因为不到10分钟前的日期很可能是在同一天。