ruby-on-rails - Rails Devise 和 ActiveAdmin 单模型路由

标签 ruby-on-rails devise activeadmin

我同时使用 Devise 和 ActiveAdmin,我让它们共享一个 users表通过 is_admin 标志。我的路由文件如下所示:

Site::Application.routes.draw do
  devise_for :users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)
end

这给了我这些路线
                 Prefix Verb       URI Pattern                    Controller#Action
        new_user_session GET        /admin/login(.:format)         active_admin/devise/sessions#new
            user_session POST       /admin/login(.:format)         active_admin/devise/sessions#create
    destroy_user_session DELETE|GET /admin/logout(.:format)        active_admin/devise/sessions#destroy
           user_password POST       /admin/password(.:format)      active_admin/devise/passwords#create
       new_user_password GET        /admin/password/new(.:format)  active_admin/devise/passwords#new
      edit_user_password GET        /admin/password/edit(.:format) active_admin/devise/passwords#edit
                         PATCH      /admin/password(.:format)      active_admin/devise/passwords#update
                         PUT        /admin/password(.:format)      active_admin/devise/passwords#update
cancel_user_registration GET        /admin/cancel(.:format)        devise/registrations#cancel
       user_registration POST       /admin(.:format)               devise/registrations#create
   new_user_registration GET        /admin/sign_up(.:format)       devise/registrations#new
  edit_user_registration GET        /admin/edit(.:format)          devise/registrations#edit
                         PATCH      /admin(.:format)               devise/registrations#update
                         PUT        /admin(.:format)               devise/registrations#update
                         DELETE     /admin(.:format)               devise/registrations#destroy

我希望可以从 /admin 使用管理仪表板,但我希望用户管理部分可以从 /users 获得.所以new_user_session将在 /users/login而不是 /admin/login .

有没有人实现这个?

最佳答案

事实证明,您可以通过从设计中省略 ActiveAdmin 来做到这一点。取而代之的是:

Site::Application.routes.draw do
  devise_for :users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)
end

做这个:
Site::Application.routes.draw do
  devise_for :users
  ActiveAdmin.routes(self)
end

关于ruby-on-rails - Rails Devise 和 ActiveAdmin 单模型路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20558412/

相关文章:

ruby-on-rails - Rails 3 iso-3166-country-select 插件如何包含空白并设置优先级国家?

ruby-on-rails - capybara :单击图标类找到的元素

ruby-on-rails - 删除 Warden 策略 - 如何确保原始的 devise_authenticable 策略消失

ruby-on-rails-3 - Formtastic/ActiveAdmin 多选多对多复选框关联问题

ruby-on-rails - 在 Chrome/Firefox 浏览器应用程序关闭后,Devise Rememberable 无法正常工作

ruby-on-rails - 不断获取 'undefined method error' user_url

ruby-on-rails - 如何回到前一天?

ruby-on-rails - 我不断收到 "Not found. Authentication passthru"用于使用 Devise 连接登录的 Facebook - 需要调试建议

ruby-on-rails - 更少与 compass

ruby-on-rails - 如何获取 Gemfiles 中所有 gem 的 Github 存储库位置?