Как отформатировать поле datetime в форме Ruby on Rails ActiveAdmin?
Я использую Ruby 2.1 и Rails 4.1. Я установил ActiveAdmin (1.0.0.pre2). Я хочу отформатировать поле datetime expires_at
в форме ActiveAdmin. Я попробовал это в /app/admin/job.rb
, используя опцию jQuery datepicker:
f.input :expires_at, as: :datepicker, datepicker_options: { date_format: "yy-mm-dd", min_date: Time.to_s + "+7D" }
Он отлично работает в виде нового режима /admin/jobs/new
, но не работает в режиме редактирования /admin/jobs/xx/edit
. Он всегда показывает значение из БД, например 2015-11-06 15:10:00 UTC
.
Я также пробовал с :value
, но это тоже не работает.
f.input :expires_at, :value => :expires_at.try(:strftime, '%Y-%m-%d'), as: :datepicker, datepicker_options: { min_date: Time.to_s + "+7D" }
У меня также есть следующая конфигурация в /config/locales/en.yml
. Однако я считаю, что это не влияет на такие поля формы datetime.
en:
date:
formats:
long: "%Y-%m-%d"
time:
formats:
long: "%Y-%m-%d %H:%M"
1 ответ:
Согласно этому так называемому вопросу, атрибут value должен быть обернут с
input_html
в formtastic.f.input :expires_at, :input_html => { :value => f.object.expires_at.try(:strftime, '%Y-%m-%d') }