ruby-on-rails – 活动模型序列化器:在ArraySerializer中添加ro
发布时间:2020-12-16 22:13:16 所属栏目:百科 来源:网络整理
导读:说我有一个模型用户和一个串行器UserSerializer ActiveModel :: Serializer,以及一个如下所示的控制器: class UsersController ApplicationController respond_to :json def index respond_with User.all endend 现在如果我访问/用户我会得到一个如下的JSON
说我有一个模型用户和一个串行器UserSerializer< ActiveModel :: Serializer,以及一个如下所示的控制器:
class UsersController < ApplicationController respond_to :json def index respond_with User.all end end 现在如果我访问/用户我会得到一个如下的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": "Dave" } . . . ] } 这个例子是有创意的,但它是我想要实现的一个很好的近似.这是否可能与活动模型序列化程序? (也许通过子类化ActiveModel :: ArraySerializer?我无法弄清楚).如何添加额外的根元素? 解决方法
您可以将其作为第二个争议通过reply_with
def index respond_with User.all,meta: {time: "2014-01-06 16:52 GMT",url: "http://www.example.com",noOfUsers: 2} end 在0.9.3版本的初始化器中设置ActiveModel :: Serializer.root = true: ActiveSupport.on_load(:active_model_serializers) do # Disable for all serializers (except ArraySerializer) ActiveModel::Serializer.root = true end 在控制器 render json: @user,meta: { total: 10 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- applicationContext-security.xml
- ruby-on-rails – 在Rails 4应用程序中添加新页面
- 以Flash零日漏洞起家的Angler全面占领黑客工具包市场
- 连接时会提示oracle initialization or shutdown in progre
- ruby-on-rails – 如何在Rails / Angularjs html5模式中删除
- 【spring进阶】--控制反转(IoC)和依赖注入(DI)
- 结合配置文件、反射完善控制反转(IoC)、依赖注入(DI)
- c# – 在进程终止时释放资源
- flex 结合coldfusion 设置文件上传大小
- c – 如何阻止gcc在较新的ARM cpu上发出swap {b}?