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