在rails中设置默认日期格式

时间:2014-10-09 20:23:49

标签: ruby-on-rails

我尝试了几种不同的解决方案,尝试在rails中设置默认格式,以便日期显示在表单字段中,如...

<%=f.text_field :start_date %>

它应显示为mm / dd / yyyy。相反,我得到日期,如2014-10-28 00:00:00.000000

到目前为止我尝试过将以下内容添加到我的en.yml文件中

en:
  date:
    formats:
      default: "%m/%d/%Y"
  time:
    formats:
      default: "%m/%d/%Y %H:%M"

我还将此添加到我的initializers / date_formats.rb文件

Date::DATE_FORMATS.merge!(:default => '%m-%d-%Y')
Time::DATE_FORMATS.merge!(:default => "%m-%d-%Y %H:%M")

那么,知道为什么这些都不起作用?感谢。

1 个答案:

答案 0 :(得分:0)

如果您想使用本地化,您必须使用l辅助方法在视图中表达,例如:

 <%= f.text_field :start_date, :value => l(@job.start_date.to_date) %>

现在只有Rails会尝试使用您的本地化设置格式化值。它正在使用为Time定义的格式,因为:start_date可能属于DateTime类型。

config/locales/en.yml中的格式定义应该足够了。