Rud*_*iel 3 ruby ruby-on-rails heroku ruby-on-rails-5
所以我已经将我正在开发的应用程序升级到 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
Run Code Online (Sandbox Code Playgroud)
您必须生成master.key和credentials.yml.enc。为此,只需运行以下命令:
run EDITOR=vim rails credentials:edit
Run Code Online (Sandbox Code Playgroud)
(作为编辑器,您可以使用其他东西,例如 atom 或 nano)。
在打开的编辑器中,您可以输入凭据并保存。Rails 使用master.key来加密凭证。您可以在此处找到更多信息:https : //medium.com/cedarcode/rails-5-2-credentials-9b3324851336
要使加密凭证在 Heroku 上工作,您可以从 master.key 复制密钥并使用它来设置环境RAILS_MASTER_KEY
变量。您可以通过 Heroku Dashboard 或 Heroku CLI 实现这一点,如下所示:
$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4786 次 |
最近记录: |