"created_at": "2016-04-13T06:01:15.000Z",
"updated_at": "2016-04-13T06:01:15.000Z",
比如我想要 默认是
%Y-%m-%d %H:%M:%S'
应该在什么地方配置吗?
和 Grape 无关,Ruby 有格式化的方法 strftime
,也可以直接给,
to_s
方法打补丁:DATE_FORMATS
很多项目在加载环境时,就进行了这一步
Ruby format date string
其实默认格式是一个标准,叫 ISO 8601 使用 API 的人用任何语言的标准库的日期库就能转换出来,还包含时区的。
按 #5 楼 @u1450154824 那样做,时区就没了,不可取
首先,强烈建议用时间戳; 实在是喜欢字符串格式,也一定要用 iso8601
.
Grape 是有内置 data format
的,先定义一个 helper:
module Grape
class Entity
format_with(:unix_time) { |dt| dt.to_i }
format_with(:iso8601) { |dt| dt.iso8601 }
end
end
Entity
里面可以这样用:
class Foo < Grape::Entity
root 'foos', 'foo'
with_options(format_with: :unix_time) do
expose :created_at, :updated_at
end
end