Rails没有拿起自定义日期& en.yml中的时间格式

时间:2012-08-22 23:15:56

标签: ruby-on-rails ruby-on-rails-3 internationalization formatting date-format

我对Rails中的I18N并不熟悉所以请耐心等待。试图设置自定义日期&时间格式:

#config/locales/en.yml
en:
  date:
    formats:
      long_dateweek: "%A, %B %d, %Y"
  time:
    formats:
      very_short: "%H:%M"

但是当我尝试使用它们时,我只获得默认格式:

1.9.3p194 :001 > Time.now.to_date.to_s(:long_dateweek)
 => "2012-08-22" 
1.9.3p194 :002 > Time.now.to_time.to_s(:very_short)
 => "2012-08-22 16:12:47 -0700" 

尝试重启控制台(甚至是服务器)无济于事...... 我错过了什么?

2 个答案:

答案 0 :(得分:3)

@ alexsanford1有正确的答案。我在下面修改了我的视图。

<%= l Time.now, :format => :very_short %>

答案 1 :(得分:2)

您需要使用I18n.l方法,如下所示:

1.9.3p194 :001 > I18n.l Time.now.to_date, :format => :long_dateweek
 => "Wednesday, August 22, 2012" 
1.9.3p194 :002 > I18n.l Time.now, :format => :very_short
 => "23:03"

您还可以在视图中使用l辅助方法。有关详细信息,请查看此rails guide

相关问题