Rails 3.1アプリにdevise、omniauth、facebook-omniauthを使用しています。認証後、ユーザーを表示中のページにリダイレクトしたいと考えていました。同じために次のコードを使用しました。
def facebook
@user = Spree::User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
if @user.persisted?
flash[:notice] = "Yipee! You were successfully authorized from your Facebook account!!"
sign_in @user, :event => :authentication
redirect_to request.referrer
end
これにより、ユーザーの作成時にのみ次のエラーが発生します。
ActionController::ActionControllerError in Spree::OmniauthCallbacksController#facebook
Cannot redirect to nil!
ユーザーが作成済みの次の場合、ログイン中およびログイン後にエラーは表示されません。
これをどのように修正することをお勧めしますか? ありがとう!