Railsrequest
对象在请求生命周期中最早可用的时间是什么时候?本质上,请求何时首次作为请求对象可用,在哪个对象中?ActionDispatch
?
您可以从 访问请求参数Tester::Application
吗?如果是这样,怎么做?如果没有,那么使用环境呢?该信息何时设置?
Railsrequest
对象在请求生命周期中最早可用的时间是什么时候?本质上,请求何时首次作为请求对象可用,在哪个对象中?ActionDispatch
?
您可以从 访问请求参数Tester::Application
吗?如果是这样,怎么做?如果没有,那么使用环境呢?该信息何时设置?
Rack 网络服务器创建request
对象,然后 ActionDispatch 从它继承。因此,本质上,您将能够访问应用程序中间件中的Rack::Request
或对象。ActionDispatch::Request
机架::请求
https://github.com/rack/rack/blob/master/lib/rack/request.rb
ActionDispatch::Request
https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/http/request.rb
中间件可能是访问这些数据的最佳方式。我制作了一个简单的 gem,用于使用已接受答案中提到的类在 Rails 中设置原始 HTTP 请求/响应日志。