首页 > 解决方案 > 为什么 `Rails.application.credentials.api_key` 在我的 Rails 5.2 应用程序中返回 `nil`?

问题描述

config/credentials.yml.enc我正在尝试通过编辑我的文件为我正在使用的外部 api 添加一个密钥。添加我的 API 密钥后,我在命令行中运行命令EDITOR="subl --wait" rails credentials:edit以打开如下所示的文件:

secret_key_base: lalala

locationiq_key: blahblahblah

从理论上讲,我应该能够locationiq_key在控制台中访问该变量,但是当我运行Rails.application.credentials.locationiq_key它时,它会返回nil. 当我运行Rails.application.credentials.secret_key_base它时,它lalala按预期返回。运行Rails.application.credentials返回:

#<ActiveSupport::EncryptedConfiguration:0x00005b310d378 @key_path=#<Pathname:/home/me/Desktop/coder-app/config/master.key>, @content_path=#<Pathname:/home/me/Desktop/coder-app/config/credentials.yml.enc>, @env_key="RAILS_MASTER_KEY", @raise_if_missing_key=false, @encryptor=#<ActiveSupport::MessageEncryptor:0x00007f4c474ed0 @secret="\x7(\x67N!S\xE38\xF\x16^\xDD\x02\xC\x1A\xEN", @sign_secret=nil, @cipher="ays-985-gcm", @aead_mode=true, @verifier=ActiveSupport::MessageEncryptor::NullVerifier, @serializer=Marshal, @options={:cipher=>"aes-128-gcm"}, @rotations=[]>, @config={:secret_key_base=>"lalala"}, @options={}>

任何想法可能是什么问题?

标签: ruby-on-railsrubyruby-on-rails-5ruby-on-rails-5.2

解决方案


推荐阅读