繁体   English   中英

更改Devise的sign_in url

[英]Changing the sign_in url for Devise

在使用before_filter:athenticate用户时,如何更改Devise的登录路径?

我在帖子控制器中有以下内容。

例如:

class PostsController < ApplicationController
    before_filter :authenticate_user!

    def index
        @posts = Post.all
    end
end

目前它会自动转到'/ users / sign_in'

我想使用'/ login'

使用devise_for方法为现在的人排序。

devise_for :users, :controllers => { :registrations => 'registrations' }, :path => 'accounts', :path_names => { :sign_in => 'login', :sign_up => 'new', :sign_out => 'logout', :password => 'secret', :confirmation => 'verification' }

所以现在sign_in路径是'accounts / login'

该解决方案不会修改sign_in的资源路径。

然而,我通过devise_for方法对其进行了排序。 例如:

devise_for :users, 
           :controllers => { :registrations => 'registrations' },  
           :path => 'accounts', 
           :path_names => { :sign_in => 'login', 
                            :sign_up => 'new', 
                            :sign_out => 'logout', 
                            :password => 'secret', 
                            :confirmation => 'verification' } 

所以现在sign_in路径是'accounts / login'

我想你要找的信息在这里: https//github.com/plataformatec/devise/wiki/How-To : -Change- the-default- sign_in-and-sign_out-routes

从文档中窃取:

devise_scope :user do
  get "/login" => "devise/sessions#new"
end

在你的情况下你会使用:post而不是:user我相信。 它迟到了,我模糊不清,但我认为应该这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM