2011-02-01 29 views
2

私はDevise/Omniauthコンボに切り替えましたが、すべてローカルホストサーバーで正常に動作しています。しかし、私がherokuにアップロードしたとき、ユーザーが伝統的なサインアップフォーム(オムニバスのログインではない)でサインアップするとアプリがクラッシュする。 アプリ/コントローラ/ registrations_controller.rb:私は私のログが(--bcryptロードするためにはそのようなファイル)heroku&deviseユーザー登録コントローラエラー

とLoadErrorを言わない3.レールを使用しています11 アプリ/コントローラ/ registrations_controller.rb 'build_resource' に: 4「

を作成参照コントローラ:

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登録コントローラは工夫をオーバーライドしているので、超です。何がうまくいかないの?ありがとう。

答えて

6

あなたが持っていることを確認してください:あなたのGemfileで

gem 'bcrypt-ruby' 

を。ない場合は、それを追加し、また

bundle install 

を実行して、あなたのGemfile.lockを削除し、再度、Herokuのにプッシュしようとする必要があります。

+0

ありがとうございます。 Gemfile.lockを削除してインストールする必要がありましたが、現在は動作しています。 – John

1

私はヒロクのOmniauth railscastを実行して同じ問題を抱えていました。

gem 'bcrypt-ruby' 

Gemfile.lockを削除する必要はありませんでしたか? 私も必要です:

heroku stack:migrate bamboo-mri-1.9.2 
関連する問題