Rails 4 ERB:一致的日期格式

Rails 4 ERB: consistent date format

看了好几个帖子How to format time and date from db:datetime record in Rails 4? and Custom date time format in rails 4,感觉好像少了一块拼图

在我们的项目中,我们为日期格式设置了一个 conf 变量,我们使用:

my_date_field.strftime(Rails.configuration.date_format_default)

其他建议是设置初始化程序并使用:

my_date_field.to_s(format: :date_format_default)

有什么方法可以使日期时间字段的输出默认为某种格式吗?在我们的项目中,除非我们指定,否则我们希望日期始终以相同的方式呈现,并且不得不不断重复 strftimeto_s 感觉非常不干,它们都有自己的参数......

您可以使用I18n (Rails Internationalization)设置默认日期和时间格式

config/locales/en.yml

en:
  date:
    formats:
      default: "%d/%m/%Y"
  time:
    formats:
      default: "%d/%m/%Y %H:%M"

在您的翻译中设置默认格式:

en:
  time:
    formats:
      default: "%a %b %d, %Y at %I:%M %p"

然后在您的 ERb 模板中使用翻译助手:

l some_model.created_at