簡體   English   中英

Devise + 管理:ActionController::RoutingError - 未初始化的常量 Admin::SessionsController:

[英]Devise + Administrate: ActionController::RoutingError - uninitialized constant Admin::SessionsController:

我創建了一個 rails (6.0.3) 應用程序,並添加了thinkbot/administratedevise 我有一個普通用戶的User model 和另一個AdminUser 我想將兩種類型的用戶分開。 兩者都是使用 devise 生成器創建的

$ rails generate devise User
$ rails generate devise AdminUser

我在管理和 devise scope 的路由配置時遇到問題。

Rails.application.routes.draw do
  devise_for :users
  devise_scope :user do
    get 'log-in', to: 'devise/sessions#new'
    get 'sign-up', to: 'devise/registrations#new'
    delete 'log-out', to: 'devise/sessions#destroy'
    get 'reset-password', to: 'devise/passwords#new'
  end

  root 'pages#index'

  get '/dashboard', to: 'pages#dashboard'

  namespace :admin do
    devise_for :admin_users

    resources :users
    resources :groups

    root to: 'users#index'
  end
end

我想我錯過了一些東西,因為當我 go 到localhost:3000/admin並且它重定向到http://localhost:3000/admin/admin_users/sign_in時它會拋出異常。 這里例外:

Started GET "/admin" for ::1 at 2021-02-13 11:58:13 -0300
Processing by Admin::UsersController#index as HTML
Completed 401 Unauthorized in 2ms (ActiveRecord: 0.0ms | Allocations: 207)


Started GET "/admin/admin_users/sign_in" for ::1 at 2021-02-13 11:58:13 -0300

ActionController::RoutingError - uninitialized constant Admin::SessionsController:

Started POST "/__better_errors/6ee21cb1da542538/variables" for ::1 at 2021-02-13 11:58:13 -0300

管理應用程序 controller 如下所示:

module Admin
  class ApplicationController < Administrate::ApplicationController
    before_action :authenticate_admin_user!

    protected

    def authenticate_admin_user!
      authenticate_admin_admin_user!
    end
  end
end

LMK 如果我錯過了一些有用的東西。 提前致謝

該錯誤告訴您必須定義 controller。

admin/session_controller.rb

So create a controller which extended from devise session as you are using session different for normal user so you have to define admin users controller too.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM