【Rails6】Active Adminとdeviseでログイン後のページ指定してを分ける方法

Active Adminとdeviseを使用していて、Active Adminのログイン後のURLページ指定とdeviseでログイン後のURLページ指定を分ける方法を紹介します。

元々のdeviseだけのログイン後URL指定はこちらです。

使わなくなるのでコメントアウトしておきました。

# def after_sign_in_path_for(resource)
  #   posts_path
  # end

Active Adminのログイン後のURLページ指定とdeviseでログイン後のURLページ指定を分ける方法は、下記になります。

def after_sign_in_path_for(resource)
  case resource
  when User
    posts_path
  when AdminUser
    stored_location_for(resource) ||
    if resource.is_a?(AdminUser)
      admin_users_path
    else
      super
    end
  end
end

when Userには、deviseのログイン後のページを指定します。

when AdminUserには、Active Adminのログイン後のURLページ指定をします。

以上です。

他にもこんな記事があります!