我无法在Heroku上运行的Ruby on Rails 4.1.4应用程序中为生产环境设置secret_key_base
。
以下是我尝试过的步骤:
运行rake secret
并将密钥复制到剪贴板
运行heroku config:set SECRET_KEY_BASE=%SECRET_KEY%
它返回成功,Heroku在网站的仪表板中列出了这个环境变量,但是应用程序仍然认为没有提供密钥:
缺少
secret_key_base
生产'环境,设置此值 在config/secrets.yml
为什么呢?我究竟做错了什么?我该如何解决?
提前致谢。
答案 0 :(得分:1)
将config/secrets.yml
添加到版本控制并再次部署。您可能需要从.gitignore
中删除一行,以便您可以提交该文件。
.gitignore
Github为我的Rails应用程序创建了config/secrets.yml
或强>
请按照以下步骤操作:
heroku config
(在您的终端中运行此命令)SECRET_KEY_BASE
secrets.yml
文件以代替<%= ENV["SECRET_KEY_BASE"] %>
(没有任何引用)<强> e.g 强>
production:
secret_key_base: b1de60dd9e00816d0569c5ce3f8dbaa3c8ea4a7606120dc66cXXXXXXXXXXXXXXXXXXXXXX
注意:实际上这不安全,但是如果您只想在生产模式下临时运行您的应用以进行测试或处于紧急状态
我希望它适合你...
答案 1 :(得分:0)
config/secrets.yml
中有什么内容?对于生产,它应包含以下行:
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>