Я хотел бы свои даты в mm/dd/year формате в текстовых полях. Однако они в настоящее время отображаются как 26.03.2010.
Существует ли глобальная установка, которую я могу установить для изменения этого?
Я попробовал следующее, которое, кажется, обновляет .to_s метод, но поля формы остаются такими же.
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(:default => '%m/%d/%Y')
Спасибо
Вы должны зарегистрировать по умолчанию
] в инициализаторе.
Добавьте эту строку в 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'
Теперь в скрипте \ 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") %>
В качестве альтернативы, вы можете включить это в вспомогательную функцию, чтобы сделать ее СУХОЙ.