2

我想要一个自定义格式,:results所以我可以@obj.date.to_s(:results)在我的视图中进行调用。

如果我将自定义格式放入初始化程序中,那么它可以工作:

Time::DATE_FORMATS[:results] = "%D"

但是,如果我尝试将其放入我的en.yml文件中,则它不起作用(因为它不会按预期格式化):

en:
  time:
    # See also config/initializers/time_formats.rb for lambda based configs
    formats:
      results: '%D'
  date:
    formats:
      default: '%m/%d/%Y"'
      results: '%D'

我读到的一切都表明这应该有效。我错过了什么?

编辑:这基本上是Rails 的副本,没有在 en.yml 中选择自定义日期和时间格式所以我想问题是如何在 yml 中设置默认值而不是初始化(它更容易管理)。是否有内置方式,还是我需要手动加载 yaml 文件并Time::DATE_FORMAT自己设置哈希?

4

1 回答 1

1

答案是Rails 没有在 en.yml 中选择自定义日期和时间格式

您提到的第二种方式是使用 I18n(国际化),这意味着使用它您必须调用它。

在你看来你可以做

<%= l @obj.date, format: :result %> 
于 2013-02-28T00:57:39.423 回答