【发布时间】:2017-04-15 15:32:48
【问题描述】:
ActiveModelSerializers.config.default_includes = '**'
我们通过序列化程序渲染 cmets,包括作者和一些信息。
这是使用序列化程序,一切正常
render json: comments
然而,我们还需要发送额外的元数据,所以我们将它包装成一个散列。不幸的是,这没有使用序列化程序,我们无法弄清楚原因
render json: {comments: comments, upvoted: upvoted, downvoted: downvoted}
【问题讨论】:
-
您是否尝试过使用
as_json?render json: { comments: comments.as_json, upvoted: upvoted, downvoted: downvoted }之类的东西? -
那么您确实定义了 cmets 序列化程序吗?像一个实际的 CommentsSerializer 类?
-
@Gerry,与 as_json 或 to_json 无关,因为这是默认完成的。只是缺少对序列化程序的查找
-
@arjabbar 确实如此。正如我所说,第一行是有效的,只是它不是一个哈希。这篇文章发现了问题github.com/rails-api/active_model_serializers/issues/…
标签: ruby-on-rails active-model-serializers