簡體   English   中英

Rails:登錄后如何重定向回原始頁面

[英]Rails: How to redirect back to original page after login

我正在開發一個應用程序,允許用戶瀏覽網站並從任何頁面登錄(登錄鏈接在公共標題中)。 成功登錄后,用戶當前會從登錄頁面重定向到root_url。

重定向到原始頁面會更友好。 我試圖將原始頁面的命名路徑存儲到會話中,但這些路徑似乎是對象,因此無法通過。 此外,並非所有路線都附帶指定的助手。 另一方面,當我將文字路徑作為字符串傳遞給redirect_to時,例如'orders / index',Rails將/ action解釋為id參數並輸出錯誤。

會是Rails這樣做的方式嗎? 謝謝!

您可以使用控制器內的request.referrer獲取用戶來自的頁面的URL。

(Rails 5 Update)您可以使用redirect_back將用戶返回到他們剛來的頁面。

redirect_back(fallback_location: root_path)

此方法要求您設置后備位置,因為該位置是從瀏覽器中提取的,並不總是保證設置。

有關redirect_back更多信息,請參閱rails指南

暫無
暫無

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

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