Rails time_ago_in_words产生错误的输出

时间:2011-01-07 08:29:45

标签: ruby-on-rails activesupport

我认为这可能是由于转移到activesupport 2.3.5但现在我相信其他一些事情必定发生。

模型具有有效的rfc822样式日期:

>> s.lastVisitDate
=> "Thu, 06 Jan 2011 22:24:10 -0800"

但在我看来:

<%=h time_ago_in_words(@site.lastVisitDate) -%>

renders: *about {{count}} hours ago* 
instead of: *about 2 hours ago* which was working just fine earlier.

想知道是否有其他人看到过这种行为。我已经查看了我的模型和视图的版本历史记录,最近没有任何变化,所以我相信我必须在配置方面弄乱一些东西。

1 个答案:

答案 0 :(得分:0)

我发现我在区域设置文件中缺少相应的值。

所以在我的情况下,我将以下内容添加到/config/locales/en.yml

我不确定为什么以前这个问题或者特定的gem或配置更改引发了这个问题,但是在这里有正确的定义会让actionpack感到高兴。

# Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
  datetime:
    distance_in_words:
      half_a_minute: "half a minute"
      less_than_x_seconds:
        one:   "less than 1 second"
        other: "less than %{count} seconds"
      x_seconds:
        one:   "1 second"
        other: "%{count} seconds"
      less_than_x_minutes:
        one:   "less than a minute"
        other: "less than %{count} minutes"
      x_minutes:
        one:   "1 minute"
        other: "%{count} minutes"
      about_x_hours:
        one:   "about 1 hour"
        other: "about %{count} hours"
      x_days:
        one:   "1 day"
        other: "%{count} days"
      about_x_months:
        one:   "about 1 month"
        other: "about %{count} months"
      x_months:
        one:   "1 month"
        other: "%{count} months"
      about_x_years:
        one:   "about 1 year"
        other: "about %{count} years"
      over_x_years:
        one:   "over 1 year"
        other: "over %{count} years"
      almost_x_years:
        one:   "almost 1 year"
        other: "almost %{count} years"
    prompts:
      year:   "Year"
      month:  "Month"
      day:    "Day"
      hour:   "Hour"
      minute: "Minute"
      second: "Seconds"