[英]Devise redirect after login or logout doesn't work with Rails page caching
[英]Rails - Devise - Redirect to current page after login or logout
我正在研究Ruby on Rails應用程序,並使用Devise進行用戶身份驗證。 但是,無論何時(從任何頁面)登錄或注銷,我總是會重定向到主頁“ /”。 雖然我想做的是,當我從任何頁面登錄時(例如“ / events”),登錄后我都被重定向回該頁面(在本例中為“ / events”)。 對於注銷也是如此。
我嘗試了此鏈接 。 但是store_user_location
的輸出始終為“ /”,並且函數after_sign_out_path_for
和after_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.rb
或application_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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.