【发布时间】:2014-05-23 15:29:00
【问题描述】:
所以我正在尝试在生产中部署我的 rails 应用程序。当我转到该页面时,我收到 500 错误。当我转到我的错误日志时,我收到以下错误:
Exception RuntimeError in Rack application object (Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`)
我正在运行 Rails 4.1,我的 config/secrets.yml 看起来像这样:
development:
secret_key_base: <development key>
test:
secret_key_base: <test key>
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
我运行 rake secret 来获取密钥并将导出文件放入我的 bash_profile 并获取它。我运行了 rake assets:precompile 成功。但是我仍然不断收到此错误。有什么想法吗?
更新:我尝试更新提供的错误消息以提供更好的信息......但消息没有更新。然后我尝试将密钥直接添加到 yml 文件中,而不是使用环境变量,但仍然没有骰子。我在 hostmonster 上运行,所以我无法重新启动服务器.....但是有些东西告诉我这就是需要做的......
更新 2:睡了一夜之后,这个问题似乎不再是问题了。它一定是某种缓存。现在我的问题是它试图使用我几天前为我的数据库更改的旧配置。如果我弄清楚如何使缓存无效,我会将其发布在这里并将其标记为答案。如果其他人知道该怎么做,请告诉我,我会将其标记为答案。我使用 HostMonster 作为我的主机,并按照他们在其网站上的步骤来托管我的 rails 应用程序。
【问题讨论】:
标签: ruby-on-rails ruby rake