如何从 rails 管理员和设计中排除登录名 url?

How to exclude login url from rails admin and devise?

我有一个用 RoR 和 Devise 编写的系统,我使用 rails admin 作为我的管理系统。

问题在于,由于我使用devise作为身份验证服务,并且登录url是/admins/sign_in,但是,所有以/admin开头的url都由[=管理23=] admin 并且需要登录,所以这是一个死循环。

我想做的是使用 /admin/sign_in 作为登录 url 和 /admin/sign_out 作为注销 url.

知道如何从 rails 管理员中排除这些 url 吗?

我认为你可以通过两种方式解决这个问题:

  1. rails_admin 的根设置为 admin 以外的其他内容,可能是 system_admin,这将避免任何 URL 冲突。例如:

    mount RailsAdmin::Engine => '/system_admin', as: 'rails_admin'
    
  2. 先放devise_for :users,比如:

    devise_for :users
    mount RailsAdmin::Engine => '/admin', as: 'rails_admin'