Я работаю над проектом Rails 3, где есть место для ввода даты в форме. В текстовом поле с датой используется средство выбора даты, поэтому нет никакой озабоченности по поводу даты, введенной в неправильном формате, однако дата отображается в формате: db (например, 2010-01-21).
(Примечание: это особенно относится к полям формы - например, <%= f.text_field :publish_date %>
, которые должны автоматически использовать: формат по умолчанию и не обязательно должны иметь значение)
Я попытался добавить в пользовательскую локаль, которая имеет следующую конфигурацию даты:
date:
formats:
# Use the strftime parameters for formats.
# When no format has been given, it uses default.
# You can provide other formats here if you like!
default: "%d/%m/%Y"
short: "%b %d"
long: "%B %d, %Y"
И затем установка моей локали на это (config.i18n.default_locale = "en-AU"
), однако это, похоже, не принимает и становится довольно неприятным.
В конечном итоге приложение поддерживает несколько локалей, поэтому настройка инициализатора для переопределения форматов даты при запуске приложения не подходит, и я знаю, что это должно работать - я предполагаю, что я что-то пропустил.
Файл локали: config/locales/en-AU.yml
и в моем приложении .rb Я включаю:
config.i18n.load_path += Dir[Rails.root.join("config", "locales", "*.yml").to_s]
config.i18n.default_locale = "en-AU"
в моем файле application.rb.