Почему происходит сбой при прекомпиляции ресурсов? - PullRequest
0 голосов
/ 14 марта 2019

Обычно я делаю обновления для своего производственного приложения Ruby on Rails, и сегодня я обновил некоторые уязвимости безопасности с помощью gem-файлов, отправил их в репозиторий Github, а затем сделал git push heroku master и получил следующие ошибки:

remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        rake aborted!
remote:        Devise.secret_key was not set. Please add the following to your Devise initializer:
remote:
remote:          config.secret_key = '<hash>'
remote:
remote:        Please ensure you restarted your application after installing Devise or setting the key....
remote:  !
remote:  !     Precompiling assets failed.
remote:  !

Не уверен, существует ли соединение между actionview -v 5.1.6.2, которое я недавно обновил, и этой ошибкой.

1 Ответ

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

Открыть файл config / initializers / devise.rb

содержит строку

config.secret_key = 'xxxxxxxxxxxxxx'

Если вы обнаружите, что эта строка закомментирована, раскомментируйте ее. Если у нее нет секретного ключа, найдите свой секретный ключ, набрав rake secret.

Лучшее место для установки вашего secret_key - переменные окружения. Поэтому попробуйте изменить строку в файле devise.rb, как показано ниже.

config.secret_key = Rails.application.credentials.secret_key_base

Открыть файл config / secrets.rb

production:
  secret_key_base: ENV['DEVISE_SECRET_KEY']

В Heroku вы можете установить DEVISE_SECRET_KEY в конфигурационных переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...