Rails 5.2 секреты приложений пустуют в Heroku - PullRequest
0 голосов
/ 04 июля 2019

Я успешно развернул в Heroku, но есть проблема с учетными данными.Я добавил RAILS_MASTER_KEY переменную env в раздел CONFIG VARS приложения Heroku и скопировал значение из моего файла master.key приложения: enter image description here

Затем, когда я проверяю его значение из Herokuконсоль, это все еще ноль:

Loading production environment (Rails 5.2.3)
irb(main):001:0> Rails.application.secrets.secret_key_base
=> nil
irb(main):002:0> Rails.application.secrets
=> {:secret_key_base=>nil, :secret_token=>nil}
irb(main):003:0> 

Но когда я проверяю это другим способом:

ENV['RAILS_MASTER_KEY']
=> "sdfghjklm.......1a0befa6139"

это отображается правильно.

Чего мне не хватает?

1 Ответ

0 голосов
/ 04 июля 2019

Я сам понял, - я следовал учебнику Pluralsight по Rails API, и он использовал старый способ получения секретов Rails:

Rails.application.secrets.secret_key_base

Начиная с Rails 5.2 нетфайл secrets.yml и правильный способ получения переменных env, сохраненных в credential.yml.enc, выглядит следующим образом:

Rails.application.credentials.dig(:secret_key_base)

После обновления соответствующего кода все работает как нужно.Надеюсь, это поможет.

...