【问题标题】:add custom column in active model serializers在活动模型序列化程序中添加自定义列
【发布时间】:2016-03-09 11:09:04
【问题描述】:

我使用 active model serializers 在 REST API 中设置我的 json 输出数据,响应就像以下数据一样。

{
  "articles": [
    {
      "id": 20,
      "show_map": true,
      "tag": {
        "id": 6,
        "name": "Fake Atticle"
      }
    },
    {
      "id": 19,
      "show_map": true,
      "tag": {
        "id": 6,
        "name": "Fake Atticle"
      }
    }
  ]
}

没关系,但我想在我的数据之前添加一些自定义数据,例如:

{
  "msg": "done",
  "status": "ok",
  "articles": [
    {
      "id": 20,
      "show_map": true,
      "tag": {
        "id": 6,
        "name": "Fake Atticle"
      }
    }
  ]
}

我不知道该怎么做,我尝试了一些方法,但没有人能达到我想要的。我试过respond_with,渲染:json,.to_json ...

最重要的是,我希望它可以成为所有 api 的通用解决方案/方法,所以我尝试在 application_controller.rb 中编写方法:

def send_json(data)

    render :json => { 
      result: "200", 
      msg: "qq", 
      data: data }
end

但是这样一来,我的序列化器设置都是无用,它会渲染我数据库中的所有列...

实现这一点的最佳方法是什么?

【问题讨论】:

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


    【解决方案1】:

    你可以这样渲染

    render json: data,
           message: 'done',
           status: 200,
           serializer: ::SerializerName, root: true
    

    【讨论】:

      猜你喜欢
      • 2018-02-04
      • 1970-01-01
      • 2023-04-06
      • 2015-04-15
      • 2023-03-17
      • 1970-01-01
      • 2017-01-14
      • 2016-11-21
      • 2019-01-17
      相关资源
      最近更新 更多