簡體   English   中英

Rails-Devise-登錄或注銷后重定向到當前頁面

[英]Rails - Devise - Redirect to current page after login or logout

我正在研究Ruby on Rails應用程序,並使用Devise進行用戶身份驗證。 但是,無論何時(從任何頁面)登錄或注銷,我總是會重定向到主頁“ /”。 雖然我想做的是,當我從任何頁面登錄時(例如“ / events”),登錄后我都被重定向回該頁面(在本例中為“ / events”)。 對於注銷也是如此。

我嘗試了此鏈接 但是store_user_location的輸出始終為“ /”,並且函數after_sign_out_path_forafter_sign_out_path_for不會被覆蓋,並且我的代碼也從未到達過。

我還在application_controller中添加了after_sign_out_path_for ,如下所示:

def after_sign_in_path(resource_or_scope)
    puts stored_location_for(resource_or_scope) || super
end

我該如何解決這個問題?

嘗試對sessions_controller.rbapplication_controller.rb使用request.referrer

您可以使用request.referer訪問引薦路徑

像下面

protected

def after_sign_in_path_for(resource_or_scope)
  stored_location_for(resource_or_scope) || request.referrer
end

def after_sign_out_path_for(resource_or_scope)
  stored_location_for(resource_or_scope) || request.referrer
end

參見devise Wiki

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM