加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails secret_key_base在生产中无法识别

发布时间:2020-12-17 04:27:43 所属栏目:百科 来源:网络整理
导读:所以我正在尝试在生产中部署我的rails应用程序.当我进入页面时,我收到500错误.当我转到我的错误日志时,我收到以下错误: Exception RuntimeError in Rack application object (Missing `secret_key_base` for 'production' environment,set this value in `c
所以我正在尝试在生产中部署我的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资产:预编译成功.但我仍然一直在犯这个错误.有任何想法吗?

更新:我试图更新提供的错误消息,以提供更好的信息….并且消息没有更新.然后,我尝试将密钥直接添加到yml文件,而不是使用环境变量,仍然没有骰子.我在hostmonster上运行,所以我无法重新启动服务器…..但有些东西告诉我需要做什么…

更新2:彻夜难眠后,似乎这个问题不再是问题.它一定是某种缓存.现在我的问题是它试图使用我几天前为我的数据库更改的旧配置.如果我弄清楚如何使缓存无效,我将在此处发布并将其标记为答案.如果其他人知道该怎么做,请告诉我,我会将其标记为答案.我使用HostMonster作为我的托管,并按照他们在他们的网站上的步骤来托管我的rails应用程序.

解决方法

>您需要重新启动服务器,因为在YourAppName :: Application.initialize之后!在config / environment.rb中调用,您无法更改您的设置.
>检查你的yml标记,可能有一些错误
>你的config / initializers / secret_token.rb可能有问题

问题不在于ENV伪哈希.如果在ENV中没有这样的密钥,secret_key_base将为nil.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读