Rails - 如何显示像twitter一样创建的时间

时间:2011-02-07 01:46:52

标签: ruby-on-rails ruby-on-rails-3

请看一下:http://twitter.com/#!/techcrunch

请注意,时间以下列逻辑显示:

  • 如果created_at未满24小时,则显示XXX小时前或1小时前
  • 如果created_at超过24小时,则显示X Feb

Rails是否内置了此功能或需要帮助程序?如果是这样,那么这种输出的智能解决方法是什么?

由于

2 个答案:

答案 0 :(得分:6)

您可能正在寻找time_ago_in_words辅助方法。

答案 1 :(得分:5)

我知道这有点晚了,但这是我在视图中用来显示我的消息:

<% if message.created_at > Time.now.beginning_of_day %>
    <%="#{time_ago_in_words(message.created_at)} ago"%> # 3 minutes ago, less than a minute ago  
<% else %>
    <%= message.created_at.strftime("%b %d, %Y") %> # Jun 29, 2012 
<% end %>

可以提取到辅助方法中。希望它有所帮助