Изменение форматирования даты по умолчанию в активном админе

В ActiveAdmin даты печатаются в предположительно американском формате %B %d, %Y %H:%M. Например. March 19, 2013 13:25

Однако мой "по умолчанию" интерфейс печатает это, используя формат Rails по умолчанию (ISO), 2013-03-07 14:12:31 UTC, как видно при отбрасывании <%= Date.new %> в любом месте просмотра.

  • Что определяет формат дат ActiveAdmin?
  • Где и как это можно изменить, если это возможно, просто следуя глобальной настройке i18n Rails.

Ответ 1

пожалуйста, убедитесь, что у вас есть следующие строки в вашем config/locales/en.yml

en:
  date:
    formats:
      long: "%Y-%m-%d"
  time:
    formats:
      long: "%Y-%m-%d %H:%M:%S"

Также, если вы хотите изменить формат даты по умолчанию фильтра Попробуйте эту настройку формата даты даты фильтра Active Admin

Ответ 2

Что определяет формат дат ActiveAdmin?

В разделе Локализовать формат для дат и времени в документах конфигурации:

Active Admin устанавливает :long как формат локализации по умолчанию для дат и времени.

Источник: Общая конфигурация - формат локализации для дат и времени.

Где и как это можно изменить, если это возможно, просто следуя глобальной настройке i18n Rails.

В ActiveAdmin v1.0.0.pre2 вы можете переопределить конфигурацию по умолчанию localize_format для использования в другом формате:

ActiveAdmin.setup do |config|
  config.localize_format = :short
end

В качестве альтернативы вы можете обновить формат :long в вашей конфигурации локалей, как предложено Fivell:

en:
  date:
    formats:
      long: "%Y-%m-%d"
  time:
    formats:
      long: "%Y-%m-%d %H:%M:%S"