如何在Rails上将响应主体打印到stdout/stderr

eis*_*eis 5 debugging ruby-on-rails

我想打印出我的应用程序生成的响应体到stdout/stderr进行调试.流量是服务器 - 服务器,因此我无法使用客户端工具来获取http流量.

puts @response.bodyhttp://api.rubyonrails.org/classes/ActionDispatch/Response.html中提到了,但在我的app控制器中@response是未定义的.有没有办法让我在我的rails应用程序中打印响应正文到日志,如果有,怎么样?


基于给出的答案,它是这样的:

after_filter :print_response_body, :only => [:index]

def print_response_body 
  $stderr.puts response.body
end
Run Code Online (Sandbox Code Playgroud)

Sea*_*ere 7

在你的控制器中,试试吧

after_filter do
  puts response.body
end
Run Code Online (Sandbox Code Playgroud)