Gem [active_model_serializers] 一个诡异的问题,求教一下怎么解决

hanluner · 发布于 2016年12月20日 · 最后由 hanluner 回复于 2016年12月20日 · 522 次阅读
4209

用 active_model_serializers 做序列化

render json: { status: $conf[:ok], result: UserSerializer.new(user) }

虽然正常返回,但是日志输出:

[active_model_serializers] Rendered ActiveModel::Serializer::Null with Hash (3.57ms)
Completed 200 OK in 101ms (Views: 7.9ms | ActiveRecord: 5.8ms)

这句话虽然不影响结果,但是看着很不爽,关了好几次都没关掉。搜索一圈也没有好的答案。有遇到过的朋友吗?

[active_model_serializers] Rendered ActiveModel::Serializer::Null with Hash (3.57ms)
共收到 4 条回复
27

日志输出没问题啊,你返回结果就是一个 hash,找不到 serializer,所以就会使用 ActiveModel::Serializer::Null

4209

#1楼 @numbcoder 我已经是自定义UserSerializer.new(user),不需要它来找我这个返回hash。

27

#2楼 @hanluner 你返回的结果是 { status: $conf[:ok], result: UserSerializer.new(user) } , AMS 在找不到 serializer 的情况下就会使用 ActiveModel::Serializer::Null

除非这样 render json: user, 那么就会自动使用 UserSerializer

4209

#3楼 @numbcoder 我理解你的意思了,那有没有办法关掉这种序列化?请教一下。因为它这种null的序列化也是占用时间的。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册