【问题标题】:ruby-american_date gem still displays yyyy-mm-dd in text fieldruby-american_date gem 仍然在文本字段中显示 yyyy-mm-dd
【发布时间】:2013-03-24 11:40:06
【问题描述】:

我在 Gemfile 中添加了以下行。

gem 'american_date'

Rails 是 3.2.13,而 ruby​​ 是 1.9.3。

一切都很好,除了文本字段显示 yyyy-mm-dd 格式而不是 mm/dd/yyyy。

如何正确设置?

山姆

编辑:

我在初始化器中有以下配置。

Date::DATE_FORMATS.merge!(default: "%m/%d/%Y")
Time::DATE_FORMATS.merge!(default: "%m/%d/%Y %H:%M:%S")

但是,文本字段未使用该格式。为什么不知道为什么。

【问题讨论】:

  • american_date gem 仅用于解析日期(即从字符串),而不是显示它们(即到字符串)。

标签: ruby-on-rails


【解决方案1】:

为什么不直接使用a custom Time formatter?您不需要整个 gem 来为 Time 对象输出 mm/dd/yyyy 格式。

【讨论】:

  • 我忘了说配置。我编辑了问题。
【解决方案2】:

我使用 jQuery 解决了这个问题。 我把代码放在 ready 事件里面。

  $('input.date').each(function() {
    if (/\d\d\d\d-\d\d-\d\d/.test(this.value)) {
      var d = $.datepicker.parseDate("yy-mm-dd",  this.value);
      this.value = $.datepicker.formatDate('mm/dd/yy', d);
    }
  })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多