heroku & devise user зарегистрироваться ошибка контроллера регистрации - PullRequest
2 голосов
/ 01 февраля 2011

Я только что переключился на комбинацию Devise / Omniauth, и все работает на моем локальном сервере. Однако, когда я загружаю в heroku, приложение вылетает, когда пользователь нажимает кнопку регистрации в традиционной форме регистрации (не для входа в систему omniauth). Я использую рельсы 3. Мои журналы говорят

LoadError (нет такого файла для загрузки --bcrypt): app / controllers / registrations_controller.rb: 11 в «build_resource» app / controllers / registrations_controller.rb: 4 в create '

Указанный контроллер:

class RegistrationsController < Devise::RegistrationsController

  def create
    super
    session[:omniauth] = nil unless @user.new_record?
  end

  private

  def build_resource(*args)
    super
    if session[:omniauth]
      @user.apply_omniauth(session[:omniauth])
      @user.valid?
    end
  end 
end

Строки 4 и 11 - супер, поскольку контроллер регистрации переопределяет Devise. Что не так? Благодаря.

Ответы [ 2 ]

6 голосов
/ 01 февраля 2011

Убедитесь, что в вашем Gemfile есть:

gem 'bcrypt-ruby'

.Если нет, добавьте его и запустите

bundle install

Кроме того, вам, возможно, придется удалить свой Gemfile.lock и попытаться снова нажать на Heroku.

1 голос
/ 28 марта 2011

У меня была такая же проблема при запуске Omniauth Railscast на Heroku.

gem 'bcrypt-ruby'

Сделал трюк и не нужно удалять Gemfile.lock. Мне также нужно:

heroku stack:migrate bamboo-mri-1.9.2
...