ユーザーがLinkedInアカウントを使用してログインおよび登録できるように、authlogicおよびauthlogic-oidを使用してrails3アプリを作成しています。LinkedIn を呼び出して認証することはできますが、問題は、呼び出しが Rails アプリに戻るときに、/user_sessions で GET を呼び出し、残りの作成を実行する代わりにインデックス コントローラーを呼び出していることです。コントローラ。コントローラーは次のとおりです。
# POST /user_sessions
def create
@user_session = UserSession.new(params[:user_session])
@user_session.save do |result| # <-- redirects to api.linkedin.com here
if result
flash[:success] = "Login successful!"
redirect_back_or @user_session.user_path
else
flash.now[:error] = "Invalid username/password combination."
@title = "Sign in"
render 'new'
end
end
end
プログラムは中断したところから再開するのではなく、コントローラーでif result
実行を再開するため、呼び出されることがなくなるまで、すべてがうまく機能します。index
これを修正する方法についてのアイデアは大歓迎です。
編集:コントローラーが実行を完了していないという私の仮定は間違っていたようです。一連のデバッグ ステートメントを入力したところ、プログラムは @user_session.save の後にこのコントローラーで実行を再開しますが、if ステートメントでどちらの条件も実行していないことがわかりました。私はこれについて非常に混乱しています。