有些时候,我希望我的Heroku控制台能够采用不同的方式,但仅限于该实例。虽然我能够通过命令行参数来控制它,但它可能会变得有点长/凌乱。
我正在尝试在启动控制台时将临时ENV变量传递给Heroku,但到目前为止还无法实现。我想运行SOME_VAR=some_value heroku run console --app myapp
但是一旦Rails启动,我就没有ENV['SOME_VAR']
。
我知道我可以设置它,然后从Heroku网站上删除它,但重新启动我想避开的服务器。
有没有办法将临时ENV
变量传递给在Heroku上运行的Rails应用程序,而无需在Heroku仪表板中设置它们?
答案 0 :(得分:6)
您必须设置变量AFTER heroku run
:
heroku run MYVAR=hello rails console
连接后,您可以验证MYVAR是否已设置:
puts ENV['MYVAR']
=> "hello"
答案 1 :(得分:0)
最近我一直无法以包含空格的字符串形式传递变量。有效的方法如下:
heroku run rails c -a my-app -e "ONE=my first var;TWO=another one"
-e
标志的内容in the docs很少。