所以我试图在生产环境中部署我的rails应用程序。当我进入页面时,我得到一个500错误。当我去我的错误日志我得到以下错误:rails secret_key_base在生产中不被识别
Exception RuntimeError in Rack application object (Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`)
我运行的Rails 4.1和我的配置/ 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"] %>
我跑耙秘密来获得键,并将导出放入我的bash_profile中并找到它。我运行了rake资源:预编译成功。但我仍然不断收到这个错误。有任何想法吗?
更新:我试图更新提供的错误消息以提供稍好的信息....并且消息没有更新。然后,我尝试直接将密钥添加到yml文件,而不是使用环境变量,但仍然没有骰子。我在hostmonster上运行,所以我不能重新启动服务器.....但有些东西告诉我这是什么需要做...
更新2:睡了一夜后,似乎这个问题是没有更长的问题。它一定是某种缓存。现在我的问题是,它试图使用我的数据库前几天改变的旧配置。如果我弄清楚如何取消缓存,我会在这里发布它并将其标记为答案。如果别人知道如何做,请让我知道,我会将其标记为答案。我使用HostMonster作为我的托管服务器,并遵循他们在其网站上托管我的Rails应用程序的步骤。
我正在使用Hostmonster来托管这个应用程序(共享主机)....我如何重新启动我的服务器? –
另外,在4.1中没有config/initializers/secret_token.rb。现在只有一个配置/ secrets.yml,我发布上面 –
检查您的部署设置。可能你需要在linked_files中指定config/secrets.yml(如果你正在使用capistrano,就像database.yml) –