2011-10-21 75 views
0

我有一個應用程序允許管理員用戶切換到另一個用戶的上下文。如果管理員位於/images並切換到其他用戶的上下文,管理員將看到屬於該用戶的Images。我有一個ContextController切換上下文,然後,成功後,將用戶重定向到:back基於智能重定向的位置:返回符號指向

這是偉大的,並且運作良好。問題是,如果管理員正在查看/images/1,並切換到另一個用戶的上下文中,則會發生錯誤(因爲Imageid=1不屬於該用戶)。

我可以處理這種情況的一種方法是捕獲錯誤,並將用戶重定向到root_path。如果有人有任何想法,我想要一個更聰明的方式來處理這個問題。是否有一個很好的編程方法來檢查:back指向哪裏,並從該路徑中提取:action

感謝, 最大

回答

0

:back只是使用HTTP引用頭,你可以看看request.referer這將是一個完整的URL,因此它不會像檢查行動方便,你會需要匹配完整的字符串url。當request.referer爲零或空時,請務必處理該案例。