Rails,如何在绝对最低级别访问原始请求数据?

时间:2011-12-07 21:20:03

标签: ruby-on-rails request lifecycle actiondispatch

在请求生命周期的最早时间,Rails request对象何时可用?基本上,什么时候请求首先作为请求对象可用,以及在哪个对象中? ActionDispatch

您可以从Tester::Application访问请求参数吗?如果是这样,怎么样?如果没有,那么使用环境呢?该信息何时设定?

2 个答案:

答案 0 :(得分:11)

Rack webserver创建request对象,然后ActionDispatch继承该对象。基本上,您可以访问应用中间件中的Rack::RequestActionDispatch::Request个对象。

<强>机架::请求

https://github.com/rack/rack/blob/master/lib/rack/request.rb

<强> ActionDispatch ::请求

https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/http/request.rb

答案 1 :(得分:3)

中间件可能是访问此数据的最佳方式。我使用接受的答案中提到的类,在Rails中设置了一个原始的HTTP请求/响应日志。

https://github.com/andrhamm/marcopolo