ERROR:Missing secret_key_base for ‘production’ environment, set this string with rails credentials:edit (ArgumentError)
rails 在5.2以后就有了credentials 但是同样支持secrets.yml
源码中有三种解决方案:这里讲一下1.credentials,2.secrets
在这里插入图片描述

1.credentials

#删除 rm -rf config/credentials.yml.enc
#执行 没有master.key和credentials.yml.enc 会在config下生成
 EDITOR="mate --wait" bin/rails credentials:edit
# 编辑credentials.yml.enc
 EDITOR=vim rails credentials:edit 
 #进入项目
 rails c
 输入:Rails.application.credentials.secret_key_base

一般master.key是不准提交的
不提交生产环境的解决方案待研究

secrets

在这里插入图片描述

添加 config/secrets.yml

production:
  secret_key_base: 0b7536201e9b61efc7ad15305b7ef18bee66857abb257bf89700e42ee99d803cccf585ff17ca880d0055d1139cc5d49363c866f34c862214b627d660fb17be2b
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐