Ruby on rails 缺少秘密令牌,即使在环境变量上设置了它
我已通过运行以下命令生成本地密钥:Ruby on rails 缺少秘密令牌,即使在环境变量上设置了它,ruby-on-rails,environment-variables,Ruby On Rails,Environment Variables,我已通过运行以下命令生成本地密钥: rake secret 然后在我的Ubuntu VPS中,我创建了如下环境变量: echo 'export SECRET_KEY_BASE=<locally_generated_secret_string>' >> ~/.bashrc 当我键入echo$SECRET\u KEY\u BASE时,它会将生成的字符串输出给我 然后我通过capistrano上传了我的rails应用程序并启动了它。但是,日志仍显示此错误消息: #<R
rake secret
然后在我的Ubuntu VPS中,我创建了如下环境变量:
echo 'export SECRET_KEY_BASE=<locally_generated_secret_string>' >> ~/.bashrc
当我键入echo$SECRET\u KEY\u BASE
时,它会将生成的字符串输出给我
然后我通过capistrano上传了我的rails应用程序并启动了它。但是,日志仍显示此错误消息:
#<RuntimeError: Missing `secret_token` and `secret_key_base` for 'production' environment, set these values in `config/secrets.yml`>
#
为什么会发生这种情况?这可能是因为您的应用程序中还没有设置这种情况的地方 如果您检查
config/secrets.yml
文件,您会注意到secret\u key\u base
已为开发
和测试
设置,如下所示:
development:
secret_key_base: *******...
test:
secret_key_base: *******...
但可能不适用于生产
然后,您需要做的是为生产
环境添加配置。因此,在secrets.yml
文件中,您将看到如下内容:
development:
secret_key_base: *******...
test:
secret_key_base: *******...
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
secret_token: <%= ENV["SECRET_TOKEN"] %>
开发:
秘密密钥库:********。。。
测试:
秘密密钥库:********。。。
制作:
机密密钥库:
秘密令牌:
通过将secret\u-key\u-base
设置为ENV[“secret\u-key\u-base”]
,它将能够获得您导出到环境中的值,secret\u-token
也是如此
希望这能有所帮助。这可能是因为应用程序中还没有设置此选项的地方 如果您检查
config/secrets.yml
文件,您会注意到secret\u key\u base
已为开发
和测试
设置,如下所示:
development:
secret_key_base: *******...
test:
secret_key_base: *******...
但可能不适用于生产
然后,您需要做的是为生产
环境添加配置。因此,在secrets.yml
文件中,您将看到如下内容:
development:
secret_key_base: *******...
test:
secret_key_base: *******...
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
secret_token: <%= ENV["SECRET_TOKEN"] %>
开发:
秘密密钥库:********。。。
测试:
秘密密钥库:********。。。
制作:
机密密钥库:
秘密令牌:
通过将secret\u-key\u-base
设置为ENV[“secret\u-key\u-base”]
,它将能够获得您导出到环境中的值,secret\u-token
也是如此
希望这有帮助