首页 > 解决方案 > Rails 凭证返回 nil

问题描述

我有一个 Rails 6.0.0rc2 应用程序,但无法读取我的凭据。

当我这样做时,rails credentials:edit我可以添加凭据并且它们保存得很好。

aws:
  access_key_id: 123
  secret_access_key: 345

但是,当我运行控制台并尝试读取凭据时,我得到以下信息:

Rails.application.credentials[:aws]
  => nil 

或者

Rails.application.credentials.aws[:access_key_id]
Traceback (most recent call last):
    1: from (irb):2
NoMethodError (undefined method `[]' for nil:NilClass)

或者

Rails.application.credentials[:aws][:access_key_id]
Traceback (most recent call last):
    1: from (irb):3
NoMethodError (undefined method `[]' for nil:NilClass)

无论我尝试什么,我的凭据似乎总是如此nil

如果我运行,Rails.application.credentials.secret_key_base我会得到正确的结果,因此可以很好地读取文件。

标签: ruby-on-rails

解决方案


我也遇到了同样的问题。对我来说,我重新启动 Rails 服务器解决了这个问题。

服务器可能不会自动获取更改,或者每当您创建新的 credentials.yml.enc 文件时都需要重新启动服务器。


推荐阅读