如何在 Ruby on Rails ActiveAdmin 表单中格式化日期时间字段?

Sit*_*thu 6 ruby ruby-on-rails formtastic activeadmin ruby-on-rails-4

我正在使用 Ruby 2.1 和 Rails 4.1。我安装了 ActiveAdmin (1.0.0.pre2)。我想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" }
Run Code Online (Sandbox Code Playgroud)

它以新模式的形式完美运行/admin/jobs/new,但在编辑模式下不起作用/admin/jobs/xx/edit。它总是显示来自 db 的值,例如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" }
Run Code Online (Sandbox Code Playgroud)

我在/config/locales/en.yml. 但是,我相信它不会影响此类表单日期时间字段。

en:
  date:
    formats:
      long: "%Y-%m-%d"
  time:
    formats:
      long: "%Y-%m-%d %H:%M"
Run Code Online (Sandbox Code Playgroud)

nay*_*iaw 6

根据this SO question,value属性必须用input_htmlformtastic包装。

f.input :expires_at, :input_html => { :value => f.object.expires_at.try(:strftime, '%Y-%m-%d') }
Run Code Online (Sandbox Code Playgroud)