Rails:对于每个模型,始终包含created_at的毫秒数

Che*_*tan 13 time model ruby-on-rails

如何修改我的Rails应用程序以始终在created_at模型字段中包含毫秒信息?

这个问题可以解释如何为单个模型做到这一点,但我想在全球范围内进行.


例如,当我检索所有Item模型时(通过/items使用GET 命中),我得到以下JSON:

[{"created_at":"2011-08-07T23:42:15Z","updated_at":"2011-08-07T23:42:15Z","id":180,"user_id":6,"content":"test"}]
Run Code Online (Sandbox Code Playgroud)

但请注意,该created_at字段没有任何关于它创建的毫秒数的信息.如何为我的所有模特添加它?

ein*_*bst 20

对于Rails 4.1及更高版本,您可以设置time_precision,例如在application.rb中

ActiveSupport::JSON::Encoding.time_precision = 3
Run Code Online (Sandbox Code Playgroud)

顺便说一下,显示毫秒现在是默认值,如果应该省略它们,则可以设置为0.另外,知道.iso8601不包括毫秒但.as_json保留它们也是很好的.


Che*_*tan 0

我能够使用本指南created_at覆盖我的项目模型的属性选择器。

有人知道如何为所有型号做到这一点吗?