ActiveModelSerializers不用于渲染json

时间:2015-09-02 16:03:26

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

我正在使用Active Model Serializers的版本0.9.3。当我调用render json: @collection或甚至单个对象时,它使用默认的to_json方法并返回完整对象。我没有尝试任何花哨的东西。我的控制器位于app/controllers/v1/目录中,序列化程序位于app/serializers/v1/目录中,我也在app/serializers/中尝试过它们。序列化程序类名称为UserSerializer,模型为User。任何可能发生这种情况的想法都会很棒。

1 个答案:

答案 0 :(得分:3)

如果它是一组对象,请在渲染时指定each_serializer

  render(
    json: @collection,
    each_serializer: UserSerializer
  )

如果它是单个对象,请指定serializer

  render(
    json: @user,
    serializer: UserSerializer
  )