activeadmin導入時、/adminにアクセスしたとき/admin/loginではなく/loginにリダイレクトされる不具合の修正法
完全に個人用メモにはなりますが修正にかなりの時間がかかったので、同じ現象で困っている人の参考になると幸いです。
- 前提
- Rails6, Ruby 2.7.0
- activeadmin 2.6.0
- admin_userの他に通常のuserも存在している
- 起きたこと
- /adminにアクセスしたとき/loginにリダイレクトされる
- 理想は/admin/login
- /adminにアクセスしたとき/loginにリダイレクトされる
- 解決法
- lib/custom_failure.rbを以下のように変更
# frozen_string_literal: true class CustomFailure < Devise::FailureApp def redirect_url return new_admin_user_session_path if request.original_fullpath == admin_root_path # 追加 new_user_session_path end end
このように、元々/loginが返っていたのを分岐させて/adminから呼ばれたときはadminのログインパスを返すように変更しました。
以上です。最後までご覧いただき、ありがとうございました。