【问题标题】:Rails change date format in form field attribute valueRails 更改表单字段属性值中的日期格式
【发布时间】:2015-11-11 13:16:42
【问题描述】:

我使用带有 rails-I18n gem 的 Rails 4。

一切正常,除非我想更新日期字段: 输入字段内是 %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。

  .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?

【问题讨论】:

  • 你正在使用一个javascript插件,它叫什么,你需要按照我的假设去做
  • 即使没有 javascript,我也会在 %Y-%m-%d 而不是 %d.%m.%Y 中获得默认值

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


【解决方案1】:

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

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

【讨论】:

  • 谢谢 Yury,我会坚持你的解决方案!
  • @StandardNerd 不客气!如果我能找到更好的解决方案,我会在这里发布
  • 非常感谢!我一直在寻找一个干净的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多