Dan*_*dan 2 ruby gem ruby-on-rails-4
我刚刚转而使用带有Rails 4.1.6的Figaro gem v1.0.0.自从删除我的secrets.yml文件后,我现在得到错误:
处理请求时出现意外错误:缺少secret_key_base"开发"环境,请设置此值config/secrets.yml
我还需要secrets.yml文件 - 这不是费加罗的application.yml文件的工作吗?
我的application.yml文件就像
development:
secret_key_base: 56....
Run Code Online (Sandbox Code Playgroud)
通过https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb查看Railties gem,您可以看到定义的secretts方法,其中包括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
Run Code Online (Sandbox Code Playgroud)
在config/application.rb中添加以下内容可解决此问题
config.secret_key_base = Figaro.env.secret_key_base
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2478 次 |
| 最近记录: |