在我的Rails应用程序中,我正在访问我的一个控制器操作中的env哈希。
有些事情:
def my_before_filter
env['some.key'] = "Something or other"
end
这非常适合我的要求。
如果我在测试环境中启动我的Rails应用程序,并访问以下操作:
# /users in UsersController#index
def index
puts env.inspect
end
然后,env哈希的内容按预期输出到控制台。
当我从RSPec示例中获取此操作时,输出是空哈希?
it 'should get the index action' do
get :index
end
.....{}.... # rspec output
为什么env哈希为空?
我已经构建了一个dummy rails应用来展示这个
答案 0 :(得分:10)
使用
request.env
而不仅仅是控制器代码中的env。
e.g /
def index
puts request.env.inspect
end
希望有帮助吗?
另请注意:在使用github repo时,您需要在运行服务器时删除public / index.html以使您的根路由正常工作。