缺少生产环境的secret_token和secret_key_base,请在config / secrets.yml中设置这些值

时间:2017-01-19 20:43:46

标签: ruby-on-rails heroku

我收到此错误

  

缺少secret_tokensecret_key_base生产'   环境,在config/secrets.yml

中设置这些值

我将.yml个文件添加到.gitignore

我部署到heroku

1 个答案:

答案 0 :(得分:2)

您应该将您的secret.yml文件提交到您的存储库,但不要包含您的生产密钥。而是从环境变量设置生产密钥,如下所示:

development:
  secret_key_base: xxxx

test:
  secret_key_base: yyyy

# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

然后生成一个新的密钥并为Heroku设置ENV变量,如下所示:

$ rails secret
d3039b9b62a7311...
$ heroku config:set SECRET_KEY_BASE="d3039b9b62a7311..."

或者如果你是单行:

$ heroku config:set SECRET_KEY_BASE=`rails secret`