Rails在表单字段属性值中更改日期格式

时间:2015-11-11 13:16:42

标签: ruby-on-rails ruby-on-rails-4

我使用Rails 4和rails-I18n gem。

除非我想更新日期字段,否则一切正常: 在输入字段内是%Y-%m-%d格式的当前日期值,我想将格式更改为%d。%m。%Y

我在config / initializers / date_time_formats.rb

中设置了默认日期格式
Date::DATE_FORMATS[:default] = '%d.%m.%Y'

Time::DATE_FORMATS[:default]= '%d.%m.%Y %H:%M:%S'

rails控制台中的输出采用我想要的日期格式:

2.2.1 (main):0 > Date.tomorrow.to_s
=> "12.11.2015"

但重新启动服务器后,表单字段值仍为%Y-%m-%d。

enter image description here

  .form-group.row
    = f.label :valid_from, class: 'col-sm-2 form-control-label'
    .col-sm-4
      = f.date_field :valid_from, class: 'form-control', data: { provide: 'datepicker' }
      = errors_for @vat_class, :valid_from

如何在视图中不使用strftime的情况下,在%d。%m。%Y中设置输入值属性格式而不是%Y-%m-%d?

1 个答案:

答案 0 :(得分:3)

我猜你可以明确指定输入值,但这不是我想的最佳解决方案,因为你需要为每个日期字段执行此操作

= f.date_field :valid_from, class: 'form-control', data: { provide: 'datepicker' }, value: f.object.valid_from.to_s