假设我有一个模型User
和一个序列化UserSerializer < ActiveModel::Serializer
器,以及一个如下所示的控制器:
class UsersController < ApplicationController
respond_to :json
def index
respond_with User.all
end
end
现在,如果我访问/users
,我将收到如下所示的 JSON 响应:
{
"users": [
{
"id": 7,
"name": "George"
},
{
"id": 8,
"name": "Dave"
}
.
.
.
]
}
但是,如果我想在 JSON 响应中包含一些与任何特定用户都不相关的额外信息怎么办?例如:
{
"time": "2014-01-06 16:52 GMT",
"url": "http://www.example.com",
"noOfUsers": 2,
"users": [
{
"id": 7,
"name": "George"
},
{
"id": 8,
"name": "Dave"
}
.
.
.
]
}
这个例子是人为的,但它很好地近似于我想要实现的目标。使用活动模型序列化程序可以做到这一点吗?(也许通过子类ActiveModel::ArraySerializer
化?我想不通)。如何添加额外的根元素?