我创建了自定义路由来路由到设计登录和注销路径:
devise_scope :admin do
get "logout" => "devise/sessions#destroy", as: :logout
get "login" => "devise/sessions#new", as: :login
end
这行得通。唯一的问题是,如果登录失败,它会重定向回admins/sign_in
而不是/login
.
有任何想法吗?
我创建了自定义路由来路由到设计登录和注销路径:
devise_scope :admin do
get "logout" => "devise/sessions#destroy", as: :logout
get "login" => "devise/sessions#new", as: :login
end
这行得通。唯一的问题是,如果登录失败,它会重定向回admins/sign_in
而不是/login
.
有任何想法吗?
根据这个答案和这个描述,似乎实现你想要做的事情的正确方法是使用该:path_names
选项。根据Devise wiki的描述:
devise_for :admin, :path => '', :path_names => {:sign_in => 'login', :sign_out => 'logout'}
将为您创建正常admin
路线,并将/sign_in
和/sign_out
路线分别分配给/login/
和/logout
。
使用该:path
选项,您可以进一步更改 URL,例如使用:path=>"admins"
将产生路由等/admin/login
。