【Rails】devise - ログイン・ログアウト後のリダイレクト先をカスタマイズする

内容

Ruby on Railsgem 'devise'
ログイン・ログアウトした後のリダイレクト遷移先のパスの変更の方法

デフォルト設定

devise本家では
デフォルトのログイン・ログインした後のリダイレクト遷移先は
次のように定義されています

いつ デフォルトの遷移先パス 遷移先パスを定義しているメソッド
ログイン後
(Devise::SessionsController)
root_path after_sign_in_path_for(resource)
ログアウト後
(Devise::SessionsController#respond_to_on_destroy)
root_path after_sign_out_path_for(resource)

カスタマイズ

デフォルトの遷移先パスから変更したい場合は、
ソースコードで定義されている
after_sign_path_for メソッド
after_sign_out_path_forメソッド
をオーバーライドします

カスタマイズの例
class SessionsController < Devise::SessionsController

  protected

  def after_sign_in_path_for(resource)
    users_path
  end

  def after_sign_out_path_for(resource)
    flash[:notice] = "ログアウトしました"  # flashメッセージの追加もできます
    root_path
  end
end