在Rails中发送响应之前检查JSON响应

时间:2016-05-17 15:11:21

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

我需要在通过控制器发送之前检查JSON响应。 Serializer将一些字段附加到我需要检查的响应,这将确定我是否在单独的线程中发送事件/发送电子邮件。如何在通过控制器发送JSON响应之前检查它?

这是我在Rails控制器中的内容:

respond_to do |format|
  format.any(*Version.formats) do
    render json: stuffs, each_serializer: StuffsSerializer
  end
end

上面只是渲染json并立即发送它,而我需要一个中间步骤来在序列化后检查stuffs。我更喜欢在respond_to块之上的行中执行此操作。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

stuffs_json = ActiveModel::ArraySerializer.new(stuffs, each_serializer: StuffsSerializer)

然后你可以检查这个变量,然后把它放在渲染

里面