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

6

我正在使用Ruby 2.1和Rails 4.1。我安装了ActiveAdmin(1.0.0.pre2)。我想要在ActiveAdmin表单中格式化一个日期时间字段expires_at。我尝试在/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中有以下配置。但是,我相信它不会影响这样的表单日期时间字段。

en:
  date:
    formats:
      long: "%Y-%m-%d"
  time:
    formats:
      long: "%Y-%m-%d %H:%M"
1个回答

7
根据这个SO问题,在formtastic中,值属性必须用input_html包裹。
f.input :expires_at, :input_html => { :value => f.object.expires_at.try(:strftime, '%Y-%m-%d') }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接