Rails 4,设计路线

时间:2013-09-03 18:32:16

标签: ruby-on-rails devise ruby-on-rails-4

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

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

这很有效。唯一的问题是,如果登录失败,它会重定向回admins/sign_in而不是/login

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

根据this answerthis description,实现您尝试做的事情的正确方法似乎是使用:path_names选项。根据Devise wiki的描述:

devise_for :admin, :path => '', :path_names => {:sign_in => 'login', :sign_out => 'logout'}

将为您创建正常的admin路由,并将/sign_in/sign_out路由分别分配给/login//logout

使用:path选项,您可以进一步更改网址,例如使用:path=>"admins"会产生/admin/login等路线。