我正在构建一个基本的CRUD应用程序。用户模型完美运行。但是,我创建了我的第二个设计模型(admin),并且在尝试使用我的管理员帐户登录并使用sign_out时收到错误。
错误
uninitialized constant Admins::SessionsControllerController
sessions_controllers.rb
管理员控制器位于controllers / admins / sessions_controllers.rb
中class Admins::SessionsController < Devise::SessionsController
end
的routes.rb
resources :gifts
devise_for :users
devise_for :admins, :controllers => { :sessions => "admins/sessions_controller" }
authenticated :user do
root to: "gifts#index", :as => "authenticated_user_root"
end
authenticated :admin do
root to: "management#index", :as => "authenticated_admin_root"
end
root :to => 'pages#index'
当我耙路线时,我也看到正确的路线:
destroy_user_session_path DELETE /users/sign_out(.:format) devise/sessions#destroy
admin.rb
class Admin < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
完整跟踪
activesupport (4.0.0) lib/active_support/inflector/methods.rb:228:in `const_get'
activesupport (4.0.0) lib/active_support/inflector/methods.rb:228:in `block in constantize'
activesupport (4.0.0) lib/active_support/inflector/methods.rb:224:in `each'
activesupport (4.0.0) lib/active_support/inflector/methods.rb:224:in `inject'
activesupport (4.0.0) lib/active_support/inflector/methods.rb:224:in `constantize'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:76:in `controller_reference'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:66:in `controller'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:44:in `call'
actionpack (4.0.0) lib/action_dispatch/routing/mapper.rb:44:in `call'
actionpack (4.0.0) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.0.0) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.0.0) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:655:in `call'
warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
warden (1.2.3) lib/warden/manager.rb:34:in `catch'
warden (1.2.3) lib/warden/manager.rb:34:in `call'
我正在寻求帮助以使我的管理模型正常运行。有谁知道如何正常工作?
答案 0 :(得分:1)
你在devise_for中有一个拼写错误,
devise_for :admins, :controllers => { :sessions => "admins/sessions_controller" }
应该是
devise_for :admins, :controllers => { :sessions => "admins/sessions" }
请参阅https://github.com/plataformatec/devise#configuring-controllers