2017-01-19 73 views
-1

我得到這個錯誤缺少secret_token和secret_key_base用於生產環境,在配置設置這些值/ secrets.yml

config/secrets.yml

缺少對「生產」 環境,設置這些值 secret_tokensecret_key_base

然後我將我的.yml文件添加到.gitignore

我部署到Heroku的

+0

您要部署哪臺主機? – mysmallidea

+0

@mysmallidea heroku – user2950593

+0

爲什麼你downvote?我認爲提交yml文件被認爲是不好的做法 – user2950593

回答

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"] %> 

然後生成一個新的密鑰和設置您的ENV變量的Heroku是這樣的:

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

或者,如果你進入one-linerrs:

$ heroku config:set SECRET_KEY_BASE=`rails secret` 
相關問題