【发布时间】:2014-10-17 17:37:57
【问题描述】:
我创建了一个我试图在 heroku 上托管的 rails 4.1.4 应用程序,但出现以下错误 -
production 环境缺少secret_key_base,请在config/secrets.yml 中设置此值
我的 secrets.yml 文件看起来有 secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 在生产中
我运行 rake secret 并将结果保存在环境变量 SECRET_KEY_BASE 中。当我在 heroku 上登录我的应用程序时,我可以在单击设置时看到存储在配置变量中的值。
其他解决方案建议我将 config/secrets.yml 添加到 git 并重新部署到 heroku - 但是我不希望将 secrets.yml 或任何 yml 文件添加到版本控制。
有什么想法吗?
谢谢!
【问题讨论】:
-
你试过
heroku restart吗? -
刚刚做了 - 仍然是同样的错误。
-
嗯好吧 - 你有任何其他的依赖运行等?这可能会导致问题
-
抱歉,我不确定这意味着什么 - 我在 heroku 上有以下配置变量 - DATABASE_URL、FACEBOOK_KEY、FACEBOOK_SECRET、HEROKU_POSTGRESQL_COBALT_URL、LANG、RACK_ENV、RAILS_ENV、SECRET_KEY_BASE
-
如果 secrets.yml 不在您的源代码中并且未部署到 heroku,您的应用程序将不知道查看 ENV 变量。重点是您可以安全地添加此文件,因为它只有 dev 和 test 的值。
标签: ruby-on-rails heroku ruby-on-rails-4