ダメでしょ!

プログラミングとか怒られた話とか…

rails_admin と devise を導入したプロジェクトで、root_path と rails_admin_path が異なる場合のログアウト遷移先設定方法

前提

rails_admin
devise

困っていたこと

一般向けサイトと管理サイトを作成し、管理サイトのみ devise でログイン処理を作成しました。
プロジェクト自体の root_path は一般向けサイトを指定したのですが、そうすると、管理サイトからログアウトした際に root_path に遷移してしまい、非常に不便でした。

対応方法

結論から言うと、application_controller.rb にメソッドを追加しました。

  def after_sign_out_path_for(resource)
    rails_admin_path
  end

これでログアウトしたら rails_admin_path に遷移するようにできます。

github.com

rails_admin 側に設定が存在するだろうと考えて調べていたため、devise 側だということに気づくのに時間がかかってしまった。。。