ruby-on-rails - 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
我会得到正确的结果,因此可以很好地读取文件。
解决方案
我也遇到了同样的问题。对我来说,我重新启动 Rails 服务器解决了这个问题。
服务器可能不会自动获取更改,或者每当您创建新的 credentials.yml.enc 文件时都需要重新启动服务器。
推荐阅读
- c# - 如何使用 jQuery 从 C# 代码中填充 HTML 选择框(下拉列表)
- java - 无法公开长 com.sun.management.internal.OperatingSystemImpl.getCommittedVirtualMemorySize()
- c# - 如何在 Blazor 项目中使用 C# 绑定制作 HTML 文本多行?
- javascript - How to set custom style to antd Select?
- javascript - 尝试使用 Node.js MSSQL 连接到 SQL Server 数据库时出现错误 ELIFECYCLE 3228369023
- docker - GET to API 适用于浏览器,但不适用于 Postman
- ffmpeg - RuntimeError:找不到 ffmpeg exe - Windows 10 中的 FFMpeg 错误
- bash - Does MacOS prefer /bin/sh or /bin/bash?
- python - Celery-Progress - progress_recorder.set_progress() returns TypeError: sequence item 1: expected a bytes-like object, NoneType found
- c# - 如何每秒运行一次工作服务 (BackgroundService)?