Skip to content

How To: Redirect to a specific page on successful sign in and sign out

localhost.dev edited this page Apr 27, 2019 · 12 revisions
Clone this wiki locally

Example 1

Add this to your ApplicationController

class ApplicationController < ActionController::Base
  
  protected

  def after_sign_in_path_for(resource)
    # return the path based on resource
  end

  def after_sign_out_path_for(resource)
    # return the path based on resource
  end


end

Example 2

You can override the default behaviour by creating an after_sign_in_path_for [RDoc] method in your ApplicationController and have it return the path for the page you want:

def after_sign_in_path_for(resource)
  current_user_path
end

There exists a similar method for sign out; after_sign_out_path_for [RDoc]

Keeping user on the same page after signing out

def after_sign_out_path_for(resource_or_scope)
  request.referrer
end

Note:

Some versions of Devise may have issues with properly redirecting after signing in (See Issue 4742). Upgrade to the latest version while troubleshooting to help with isolating the issue.