From 04b4f61e033b543818557a2c96fc9f9cd0d3bc58 Mon Sep 17 00:00:00 2001 From: manxingxing Date: Tue, 2 Sep 2014 00:17:21 +0800 Subject: [PATCH] After the user is successfully logged in, redirect back to the last request url. --- app/controllers/application_controller.rb | 1 + app/controllers/user_sessions_controller.rb | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e9194643..bf244740 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -88,6 +88,7 @@ def access_denied redirect_back_or_default root_url else flash[:error] = 'Access denied. Try to log in first.' + session[:return_to] = request.url if request.get? redirect_back_or_default root_url end end diff --git a/app/controllers/user_sessions_controller.rb b/app/controllers/user_sessions_controller.rb index 7aeeaa72..8c700953 100644 --- a/app/controllers/user_sessions_controller.rb +++ b/app/controllers/user_sessions_controller.rb @@ -15,7 +15,12 @@ def create @user_session = UserSession.new(params[:user_session]) if @user_session.save flash[:notice] = "Login successful!" - redirect_back_or_default root_url + if session[:return_to] + redirect_to session[:return_to] + session.delete :return_to + else + redirect_back_or_default root_url + end else flash[:error] = @user_session.errors.full_messages.to_sentence redirect_back_or_default root_url