因此,我将正在开发的应用程序升级到了 Rails 5.2,但它在 Heroku 上崩溃了。我认为这是因为我的 /config 文件夹中没有 master.key 文件。我仍然有以前的 Rails 版本的 Secrets.yml 文件。我需要做什么才能解决这个问题?
谢谢!
Heroku 日志中的错误:
2019-01-28T21:07:46.922561+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/aws-sdk-s3-1.30.1/lib/aws-sdk-s3/bucket.rb:684:in `extract_name': Cannot load `Rails.config.active_storage.service`: (ArgumentError)
2019-01-28T21:07:46.922573+00:00 app[web.1]: missing required option :name
你必须生成主密钥 and 凭证.yml.enc。为此,只需运行命令:
run EDITOR=vim rails credentials:edit
(作为编辑器,您可以使用其他东西,例如原子或纳米)。
在打开的编辑器中,您可以输入凭据并保存。导轨使用主密钥加密凭证。您可以在这里找到更多内容:https://medium.com/cedarcode/rails-5-2-credentials-9b3324851336 https://medium.com/cedarcode/rails-5-2-credentials-9b3324851336
要使加密凭证在 Heroku 上工作,您可以从 master.key 复制密钥并使用它来设置RAILS_MASTER_KEY
环境变量。您可以通过 Heroku CLI 中的 Heroku Dashboard 来实现此目的,如下所示:
$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)