gpt4 book ai didi

ruby - Figaro - Rails 缺少用于开发的 secret_key_base

转载 作者:数据小太阳 更新时间:2023-10-29 08:18:20 27 4
gpt4 key购买 nike

我刚刚转而使用 Figaro gem v1.0.0 和 Rails 4.1.6。由于删除了我的 secrets.yml 文件,我现在收到错误:

处理请求时出现意外错误:缺少 secret_key_base对于“开发”环境,在 config/secrets.yml 中设置此值

我还需要 secrets.yml 文件吗——这不是 Figaro 的 application.yml 文件的工作吗?

我的 application.yml 文件是这样的

development:
secret_key_base: 56....

最佳答案

https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb 查看 Railties gem您可以看到定义的 secrets 方法,其中包括 secret_key_base 的回退

 def secrets #:nodoc:
@secrets ||= begin
secrets = ActiveSupport::OrderedOptions.new
yaml = config.paths["config/secrets"].first
if File.exist?(yaml)
require "erb"
all_secrets = YAML.load(ERB.new(IO.read(yaml)).result) || {}
env_secrets = all_secrets[Rails.env]
secrets.merge!(env_secrets.symbolize_keys) if env_secrets
end

# Fallback to config.secret_key_base if secrets.secret_key_base isn't set
secrets.secret_key_base ||= config.secret_key_base

secrets
end
end

在 config/application.rb 中添加以下内容可以解决问题

config.secret_key_base = Figaro.env.secret_key_base

关于ruby - Figaro - Rails 缺少用于开发的 secret_key_base,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26200193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com