gpt4 book ai didi

ruby-on-rails - 为什么 Rails 测试环境中的 rack env hash 为空?

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:34 24 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我在我的一个 Controller 操作中访问 env 哈希。

类似的东西:

def my_before_filter
env['some.key'] = "Something or other"
end

这非常适合我的要求。

如果我在测试环境中启动我的 Rails 应用程序,并访问如下操作:

# /users in UsersController#index
def index
puts env.inspect
end

然后env hash的内容就如预期的输出到控制台了。

当我从 RSPec 示例中获取此操作时,输出是一个空散列?

it 'should get the index action' do
get :index
end

.....{}.... # rspec output

为什么 env hash 是空的?

我构建了一个 dummy rails应用程序来显示这个

最佳答案

使用

request.env

而不仅仅是 Controller 代码中的 env。

例如/

def index
puts request.env.inspect
end

希望对您有所帮助?

顺便说一句:在使用您的 github 存储库时,您需要删除 public/index.html 以便在运行服务器时让您的根路由正常工作。

关于ruby-on-rails - 为什么 Rails 测试环境中的 rack env hash 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8990419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com