Rails将额外的数据从控制器动作传递到序列化器

时间:2017-07-21 15:06:09

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

我需要将额外的数据从控制器中的show动作传递给rendere方法的序列化器。

我有这样的渲染:

render json: test, serializer: TestSerializer

返回的json是这样的:

{
  "test": {
    "id": 1,
    "name": "Name",
    "surname": "Surname",
  }
}

我需要将额外的数据传递给此序列化程序,以便像这样使用json:

render json: test, serializer: TestSerializer, extradata: extradata

{
  "test": {
    "id": 1,
    "name": "Name",
    "surname": "Surname",
    "extradata": {
      "first": 1,
      "second": 12
    }
  }
}

任何人都可以帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我这样做是为了很快解决我的问题:

之前的Controller.rb

render json: test, serializer: TestSerializer

Json之前

{
  "test": {
    "id": 1,
    "name": "Name",
    "surname": "Surname",
  }
}

Controller.rb

之后
extradata = "test text"
render json: test, serializer: TestSerializer, extradata: extradata

Json

之后
{
 "test": {
   "id": 1,
    "name": "Name",
    "surname": "Surname",
    "extradata": "test text"
   }
 }