2017-07-17 101 views
0

目前,用戶在登錄/登錄後被重定向到根索引頁面,但我想對其進行自定義,以便重定向轉到其他頁面。用戶如何在Devise中登錄或登錄後自定義路由?

我的路線文件是:

Rails.application.routes.draw do 
    devise_for :admins, path: 'admins' 
    root 'home#index' 
    get '/' => "courses#index", as: :user_root 
    devise_for :users, path: 'users' 
    resources :courses, :lessons 
end 

據我所知,在默認情況下,根成爲其中重定向去,所以我使用的代碼get '/' => "courses#index", as: :user_root和重定向工作,因爲我想。但是,當用戶註銷時,重定向嘗試再次轉到get '/' => "courses#index", as: :user_root,我不想這麼做。相反,我想在用戶註銷時重定向到root 'home#index'

所以基本上我的問題是我如何定製我的根,以便我可以實現不同的重定向取決於用戶是否登錄/登錄和註銷?

回答

2

您可以使用此:

class ApplicationController < ActionController::Base 

private 
    def after_sign_in_path_for(resource) 
    user_root_path 
    end 

    def after_sign_out_path_for(resource_or_scope) 
    root_path 
    end 
end 

這是色器件維基:

signing in

signing out

相關問題