Rails日期格式在表单域中
我想在文本字段中以mm / dd / year格式显示日期。 但是,他们目前显示为2010-03-26。
我可以设置一个全局设置来改变它吗?
我尝试了以下,似乎更新.to_s方法,但表单字段保持不变。
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(:default => '%m/%d/%Y')
谢谢
您必须在初始化程序中注册default
格式。
将此行添加到config/initializers/date_time_formats.rb
。
Date::DATE_FORMATS[:default] = '%m/%d/%Y' # if you want to change the format of Time display then add the line below Time::DATE_FORMATS[:default]= '%m/%d/%Y %H:%M:%S' # if you want to change the DB date format. Time::DATE_FORMATS[:db]= '%m/%d/%Y %H:%M:%S'
现在在script\console
测试格式。
>> Date.today.to_s => "03/14/2010" >> Time.now.to_s => "03/14/2010 13:20:55"
我不知道在任何地方是否有全球性的设置,我只是在ERB中这样做。
<%= text_field_tag("air_date_date", air_date.blank? ? "" : air_date.strftime("%m/%d/%Y"), :class => "date-input text") %>
或者,您可以将其分解为辅助函数以使其干燥。
我知道这是一个非常古老的问题,但您可以使用date_field
而不是text_field
。 当你最初提出这个问题时,也许这不是一个选择。
它以mm/dd/yyyy
显示日期,这是您的意图。
<%= date_field :column_name %>
date_select
表单助手提供了“裸骨”日期选择器。
- Rails 3动作邮件OpenSSL :: SSL :: SSLError
- 如何输出rubyunit testing的名称
- 如何使用Ruby的optparse解析没有名称的参数
- 无法让rspec,spork和调试器发挥出色
- Ruby中的Rijndael AES-128加密解密
- Jenkins / Hudson通过优先排序构建所有分支机构
- 如何强制Ruby的CSV输出中的一个字段用双引号括起来?
- 更新到cocoapods 0.32.1后无法运行sudo pod install,错误“你无法以root身份运行CocoaPods。 (CLAide ::帮助)”
- ruby on rails:音频/ mp3内容标题下载