Любая причина, почему учетные данные Rails не будут работать в Initializer? - PullRequest
0 голосов
/ 03 ноября 2018

Есть ли причина, по которой я не смог использовать

 Rails.application.credentials[Rails.env.to_sym]['amazon']['client_id']

в

config/initializers/omniauth.rb

В настоящее время, когда я делаю, я получаю:

config/initializers/omniauth.rb:2:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)

1 Ответ

0 голосов
/ 03 ноября 2018

Любой из этих [] звонков может быть виновником.

Возможно, Rails.application.credentials равно нулю.

Возможно, Rails.application.credentials[Rails.env.to_sym] равно нулю.

Возможно, Rails.application.credentials[Rails.env.to_sym]['amazon'] равно нулю.

Все это должно быть достаточно легко, чтобы проверить, какой это.

Я собираюсь догадаться, что это из-за использования amazon в качестве строки вместо символа. Если ваш config/credentials.yml.enc выглядит так ...

production:
  amazon:
    client_id: 12345

Тогда попробуйте использовать символьные клавиши. Хотя возможно, что это хеш с равнодушным доступом.

Rails.application.credentials[Rails.env.to_sym][:amazon][:client_id]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...