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

Inspecting the JSON response before sending the response in Rails

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

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

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

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

您可以这样做:

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

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