2012-05-16 3 views
0

Мое приложение использует оригинальную проверку подлинности.Рельсы - не удается выполнить миграцию базы данных на Heroku для приложения, используя аутентификацию отладки

Когда я сделать

rake db:migrate 

локально, все идет хорошо, но когда я делаю это на Heroku:

heroku run rake db:migrate --app myappname 

Я получаю

rake aborted! 
uninitialized constant Devise::Encryptors::Base 

Tasks: TOP => db:migrate => environment 
(See full trace by running task with --trace) 

Я понятия не имею, что может пойти не так.

+1

Что означает 'rake db: migrate --trace' сказать? –

ответ

3

Я столкнулся с той же проблемой, потому что я реализовал собственный шифр. Поскольку версия 2.1 разработки пользовательских шифров была извлечена в отдельный камень. Чтобы заставить его работать, сделайте следующее.

Добавить драгоценный камень, предназначенный для разработки, на ваш Gemfile.

gem 'devise-encryptable'

Подкласс от Devise :: Encryptable :: шифраторы :: Base вместо DEViSE :: шифраторы :: Base.

# lib/devise/encryptors/md5.rb 
require 'digest/md5' 

module Devise 
    module Encryptable 
    module Encryptors 
     class Md5 < Base 
     def self.digest(password, stretches, salt, pepper) 
      str = [password, salt].flatten.compact.join 
      Digest::MD5.hexdigest(str) 
     end 
     end 
    end 
    end 
end 

Я также обновил формулу how-to page. Надеюсь, это решит вашу проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^