2014-10-09 108 views
1

我已经尝试了几个不同的解决方案的尝试,因此,当显示在表单字段如日期设定在轨的默认格式...设置默认的日期格式

<%=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" 

我还添加了这我的初始化程序/ date_formats.rb文件

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

所以,任何想法,为什么这些都没有工作?谢谢。

回答

0

如果你想使用本地化,你必须表达与l辅助方法,你的观点,比如:

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

只有这时Rails的尝试格式化您的本地化设置的值。它使用Time定义的格式,因为:start_date可能是DateTime类型。

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

+0

该代码不起作用,但确实让我朝着正确的方向前进。谢谢!对我有效的是,<%= f.text_field:start_date,:value => l(@ job.start_date.to_date)%> – 2014-10-10 11:43:08

+0

太好了!我更新了答案以包含您的更正。 – zwippie 2014-10-13 20:18:54