【问题标题】:render json serializer not returning json渲染 json 序列化程序不返回 json
【发布时间】:2018-07-03 00:21:49
【问题描述】:

在我们的 API 中,我们使用 ActiveModel Serializer 来返回 json。

render json: { taxon: TaxonSerializer.new(taxon) }

我得到的是

{
    "taxon": "#<TaxonSerializer:0x007ff704b6a820>"
}

我期待的是

"taxon": {
    "name": "Test",
    "handle": "test"
}

有谁知道怎么回事?也许我们没有使用正确版本的 ActiveModel Serializer?

以前可以,现在不行了。

【问题讨论】:

  • 你可以试试render :json =&gt; taxon_object, :serializer =&gt; TaxonSerializer
  • 就像苏巴什说的那样。
  • 大家好。感谢您的帮助。它以前有效,但现在无效。我们在代码的很多地方渲染 :json 对象。如果我们必须指定一个序列化器,我必须更改几百多个地方,这相当麻烦。有谁知道为什么它不再工作了?

标签: ruby-on-rails active-model-serializers


【解决方案1】:

这就是问题所在。 https://github.com/ohler55/oj/issues/199

gem 'oj', '~> 2.18.0' 修复了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-27
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多