【问题标题】:Object name in rendering JSON呈现 JSON 中的对象名称
【发布时间】:2013-07-03 09:51:36
【问题描述】:

在 Rails 4 中,当渲染一个对象时,例如用户,我得到这个:

{ "id" : 4 , "name" : "John" }

虽然,当使用 rails-api gem 时,我得到了这个:

{ "user" : { "id" : 4, "name" : "John" } }

什么更正确,我怎样才能让 Rails 返回对象键?

现在我正在我的控制器中执行此操作:

render json: @user

【问题讨论】:

标签: ruby-on-rails json api ruby-on-rails-4


【解决方案1】:

解释为什么您会看到这种行为...

在 Rails 4 中,他们更改了“将 ActiveModel::Serializers::JSON.include_root_in_json 默认值更改为 false”(source)。

另一方面,rails-api gem 默认包含一个根元素。您可以轻松地在全局范围内或在每次调用的基础上禁用它...文档解释它here

关于你的“什么更正确”的问题......

我认为答案是主观的。如果我从头开始一个应用程序,我可能会让我的客户遵守所使用的后端提供的默认值。在处理未来的升级时,这似乎是阻力最小的路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 2019-11-30
    相关资源
    最近更新 更多