Rails: 如何根据 windows 设置密钥
Rails: How to set secret key base on windows
我正在尝试将应用程序部署到生产环境中,但出现以下错误
<RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`>
我检查了 config/secrets.yml 文件并看到了这个
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
我知道如何生成新密钥,但我应该将它存储在哪里以便“<%= ENV["SECRET_KEY_BASE"] %>”可以获取它?
我目前正在使用 PUMA 服务器和 Windows 7。
我今天 运行 遇到了同样的问题。经过一番挖掘后,我想通了。
根据 this site,您可以通过添加 .yml 文件来设置自己的环境变量,然后让您的 application.rb 读取该文件。
我在 /config 中创建了一个 local_env.yml 并添加了以下代码。
SECRET_KEY_BASE: your_key
然后在/local/application.rb中添加如下代码。
class Application < Rails::Application
.
.
.
config.before_configuration do
env_file = File.join(Rails.root, 'config', 'local_env.yml')
YAML.load(File.open(env_file)).each do |key, value|
ENV[key.to_s] = value
end if File.exists?(env_file)
end
end
您可能希望将 local_env.yml 添加到您的 .gitignore 中,因为它包含您的密钥。
或者如果你觉得懒惰....而不是 <%= ENV["SECRET_KEY_BASE"] %>,只需将你的密钥放在那里并 .gitignore secrets.yml
我正在尝试将应用程序部署到生产环境中,但出现以下错误
<RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`>
我检查了 config/secrets.yml 文件并看到了这个
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
我知道如何生成新密钥,但我应该将它存储在哪里以便“<%= ENV["SECRET_KEY_BASE"] %>”可以获取它?
我目前正在使用 PUMA 服务器和 Windows 7。
我今天 运行 遇到了同样的问题。经过一番挖掘后,我想通了。
根据 this site,您可以通过添加 .yml 文件来设置自己的环境变量,然后让您的 application.rb 读取该文件。
我在 /config 中创建了一个 local_env.yml 并添加了以下代码。
SECRET_KEY_BASE: your_key
然后在/local/application.rb中添加如下代码。
class Application < Rails::Application
.
.
.
config.before_configuration do
env_file = File.join(Rails.root, 'config', 'local_env.yml')
YAML.load(File.open(env_file)).each do |key, value|
ENV[key.to_s] = value
end if File.exists?(env_file)
end
end
您可能希望将 local_env.yml 添加到您的 .gitignore 中,因为它包含您的密钥。
或者如果你觉得懒惰....而不是 <%= ENV["SECRET_KEY_BASE"] %>,只需将你的密钥放在那里并 .gitignore secrets.yml