我遇到了这种行为,并想知道是否有其他人看过它.我有一个解决方法,所以它不是一个显示阻止.
我在Heroku上用Cedar堆栈创建了一个新的应用程序.在演示多个环境时,我添加了以下config var:
heroku config:add RACK_ENV=staging --app appname
我在视觉上验证了环境var的设置,然后在我的简单Sinatra示例中放入以下路由:
get '/?' do
ENV['RACK_ENV']
end
Run Code Online (Sandbox Code Playgroud)
当我在笔记本电脑上进行本地测试时,我收到了预期development.
当我推到Heroku并在herokuapp.com上点击相同的路线时,我得到了development而不是staging.
我通过Procfile将Web服务器从Thin切换到Unicorn,并将更改推回到Heroku.
现在,当我到达路线时,我得到了预期staging.
有没有人见过这个?我在另一个运行Thin的项目上的解决方法是关闭New Relic应用程序名称的环境.(我没有切换到Unicorn,因为我需要New Relic来工作,目前Cedar和New Relic和Unicorn一起工作).