防止调用序列化程序

时间:2017-02-01 12:46:53

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

我创建了名为user serailizer

的序列化程序
class UserSerializer < ActiveModel::Serializer
  attributes :id, :email, :display_name
end

随叫随到

render json: User.all, status: 200

这将返回

[{id:1, email: test@gmail.com, display_name: 'test'},{id:2, email: test1@gmail.com, display_name: 'test1'}]

我的用户表还有更多属性

这里我不想渲染序列化程序属性,想要在序列化程序中不改变地渲染用户表的所有属性 简而言之,我想阻止在每个渲染json上调用序列化器,我想在我想要的时候渲染序列化器属性&gt;

我也试过

render json: User.all, serializer: nil, status: 200

但没有运气

提前致谢

1 个答案:

答案 0 :(得分:0)

我不明白你到底想要做什么,为什么你有一个你不想使用的UserSerializer,你为什么不制作一个SpecialCaseUserSerializer,为什么要渲染每个用户和每个用户单个数据库列...但这可能是您想要的:

render json: User.all.to_json, status: :ok

如果这不符合您的要求,您需要分享更多信息,例如您所使用的版本,您尝试的内容,您收到的任何错误消息以及详细信息/示例你想做什么,而不是你正在做什么不起作用。