Мина и Devise.secret_key не был установлен

Я пытаюсь развернуть свое приложение с помощью mina. Когда он начинает выполнять миграции, я получаю эту ошибку:

-----> Migrating database
rake aborted!
Devise.secret_key was not set. Please add the following to your Devise initializer:

  config.secret_key = 'key here.......'

Please ensure you restarted your application after installing Devise or setting the key.
.........

В моем инициализаторе разработки у меня есть config.secret_key = ENV["SECRET_KEY_BASE"]

Как добавить этот ключ в мое приложение? Являются ли secret_key_base и secret_key разными?

Это может быть глупо, но я не знаю, как добавить этот ключ.

Локально все работает нормально

ps я использую фигаро


person kirqe    schedule 14.01.2015    source источник


Ответы (2)


откройте папку приложения rails, перейдите в

config/initializers/devise.rb

и вставьте эту строку кода в конец:

config.secret_key = *****

где ***** — это строка, которую консоль выдает вам при появлении ошибки.

как переменная среды:

Если вам нужна переменная окружения, вы можете пойти разными путями, например, заменить приведенную выше строку кода на эту:

config.secret_key = ENV['DEVISE_SECRET_KEY']

затем вы можете создать переменную в файле keys.yml и добавить ее в свой файл ./gitignore.

после этого вы можете импортировать файл yaml в свое приложение следующим образом:

конфиг/application.rb:

   ENV.update YAML.load(File.read(File.expand_path('../keys.yml', __FILE__)))
   module yourApp
     ...
     ...
   end
person Rodrigo Zurek    schedule 14.01.2015
comment
Можно ли выставлять этот код? Это будет видно на git. Вот о чем я беспокоюсь. - person kirqe; 14.01.2015
comment
Если вы храните в git, я бы использовал переменную среды для хранения ключа. пример: ENV['DEVISE_SECRET_KEY'] - person Jordan; 14.01.2015
comment
Я храню его в env var, но когда я развертываю его с помощью mina, он не видит этот ключ. - person kirqe; 14.01.2015
comment
извините, я как-то пропустил эту часть в вашем ОП. В терминале просто введите echo "export SECRET_KEY_BASE="insert key here" >> .bashrc - person Jordan; 15.01.2015

я добавил

set :shared_paths, ['config/database.yml', 'log', 'config/secrets.yml']

к моему deploy.rb, и это решило мою проблему.

В secrets.yml я поставил DEVISE_SECRET

person kirqe    schedule 14.01.2015