Учетные данные Rails, возвращающие ноль - PullRequest
0 голосов
/ 12 марта 2019

У меня есть приложение 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, я получаю правильный результат, поэтому файл можно прочитать очень хорошо.

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

Я обнаружил, что Rails.application.credentials.dig (: aws,: access_key_id) не работает, однако, если вы удалите ': aws,' и используете Rails.application.credentials.dig (: access_key_id), это извлечет значение для элемента в файле секретных файлов с именем 'access_key_id:'.

0 голосов
/ 12 марта 2019

Вы пробовали использовать dig?

https://ruby -doc.org / ядро-2.3.0_preview1 / Hash.html # метод-я-DIG

Что-то вроде этого может работать:

Rails.application.credentials.dig(:aws, :access_key_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...