1

我创建了自定义路由来路由到设计登录和注销路径:

devise_scope :admin do
  get "logout" => "devise/sessions#destroy", as: :logout
  get "login" => "devise/sessions#new", as: :login
end

这行得通。唯一的问题是,如果登录失败,它会重定向回admins/sign_in而不是/login.

有任何想法吗?

4

1 回答 1

4

根据这个答案这个描述,似乎实现你想要做的事情的正确方法是使用该: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

于 2013-09-03T19:59:33.057 回答