我发现了这个问题,想知道是否有其他人也见过。我已经有了解决方法,所以不会成为阻碍。
我在Heroku上创建了一个新的应用程序,并使用Cedar堆栈。在演示多个环境时,我添加了以下配置变量:
heroku config:add RACK_ENV=staging --app appname 我通过目视验证了环境变量已经设置,然后在我的简单Sinatra示例中添加了以下路由:
当我在本地测试时,我收到了预期的
当我将代码推送到Heroku并在herokuapp.com上访问相同的路由时,我得到的是
我通过Procfile将Web服务器从Thin切换到Unicorn,并将更改推回Heroku。
现在当我访问该路由时,我得到了预期的
有其他人也遇到过这种情况吗?我的另一个项目中的解决方法是基于New Relic应用程序名称来设置环境变量。(我没有切换到Unicorn,因为我需要New Relic工作,目前Cedar、New Relic和Unicorn可以一起使用)。
我在Heroku上创建了一个新的应用程序,并使用Cedar堆栈。在演示多个环境时,我添加了以下配置变量:
heroku config:add RACK_ENV=staging --app appname 我通过目视验证了环境变量已经设置,然后在我的简单Sinatra示例中添加了以下路由:
get '/?' do
ENV['RACK_ENV']
end
当我在本地测试时,我收到了预期的
development
。当我将代码推送到Heroku并在herokuapp.com上访问相同的路由时,我得到的是
development
而不是staging
。我通过Procfile将Web服务器从Thin切换到Unicorn,并将更改推回Heroku。
现在当我访问该路由时,我得到了预期的
staging
。有其他人也遇到过这种情况吗?我的另一个项目中的解决方法是基于New Relic应用程序名称来设置环境变量。(我没有切换到Unicorn,因为我需要New Relic工作,目前Cedar、New Relic和Unicorn可以一起使用)。