【问题标题】:Rails: How to set secret key base on windowsRails:如何在 Windows 上设置密钥
【发布时间】:2017-12-24 02:02:55
【问题描述】:

我正在尝试将应用程序部署到生产环境,但出现以下错误

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

我知道如何生成一个新密钥,但是我应该将它存储在哪里以便“”可以获取它?

我目前正在为此使用 PUMA 服务器和 Windows 7。

【问题讨论】:

    标签: ruby-on-rails server puma


    【解决方案1】:

    我今天也遇到了同样的问题。经过一番挖掘,我想通了。

    根据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,因为它包含您的密钥。

    或者,如果您觉得懒惰....而不是 ,只需将您的密钥放在那里并 .gitignore the secrets.yml

    【讨论】:

      猜你喜欢
      • 2015-06-18
      • 2014-07-04
      • 2015-05-25
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2017-05-12
      • 1970-01-01
      相关资源
      最近更新 更多