ruby-on-rails – Rails Controller中’env’和’request.env’有什么区别?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails Controller中’env’和’request.env’有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用rspec为我的应用程序编写测试.为了授权我在标头中发送令牌:
request.headers['token'] = '000000099'
get :index

在控制器端,我可以通过request.env [“HTTP_TOKEN”]读取该值,但env [“HTTP_TOKEN”]为空.

它们之间的区别是什么?如何设置env而不是request.env?

解决方法

request.env是一个ruby数组,包含有关访问用户和服务器环境的信息. request.env是Rails应用程序中用于提取重要信息的标准对象,例如path_info,request_uri等.

env对于您的测试是空的,因为rspec-rails绕过了ActionController :: Metal调度方法.

猜你在找的Ruby相关文章