我想同时从这个宝石中提取我的设计路线和会话控制器.我该怎么做呢 ?
我想过:
devise_for :admins, :skip => [:sessions],
controllers: { sessions: "admins/sessions" }
devise_scope :admin do
get 'login' => 'devise/sessions#new', :as => :new_admin_session
post 'login' => 'devise/sessions#create', :as => :admin_session
delete 'logout' => 'devise/sessions#destroy', :as => :destroy_admin_session
end
但我的路径正在徘徊,但控制器 – 而不是.我该如何实现这一权利?
最佳答案 当您指定控制器:{sessions:“admins / sessions”}时,这意味着您在此路径中有一个名为sessions_controller.rb的文件:app / controllers / admins / sessions_controller.rb,它以以下内容开头:
module Admins
class SessionsController < Devise::SessionsController
如果这是您希望应用程序使用的控制器,那么在devise_scope块中,您必须告诉它使用管理员/会话,而不是设计/会话,如下所示:
devise_scope :admin do
get 'login' => 'admins/sessions#new', :as => :new_admin_session
post 'login' => 'admins/sessions#create', :as => :admin_session
delete 'logout' => 'admins/sessions#destroy', :as => :destroy_admin_session
end