2011-10-21 7 views
0
を指します

私は管理者ユーザが別のユーザのコンテキストに切り替えることができるアプリケーションを持っています。管理者が/imagesにあり、別のユーザーのコンテキストに切り替えると、そのユーザーに属するImagesが管理者に表示されます。コンテキストを切り替えるContextControllerがあり、成功すると、ユーザーは:backにリダイレクトされます。インテリジェントにリダイレクトする場所:back symbolは

これは素晴らしく、うまくいきます。問題は、管理者が/images/1を表示し、別のユーザーのコンテキストに切り替えると、のImageがそのユーザーに属していないため、エラーがスローされます。

これを処理する方法の1つは、エラーをキャッチしてユーザーをroot_pathにリダイレクトすることです。しかし、誰かがアイデアを持っているなら、これを扱うもっと知的な方法が好きです。 :backがどこにポイントしているかをチェックし、そのパスから:actionを抽出する素晴らしいプログラム的な方法がありますか?

おかげで、 マックス

答えて

0

:backちょうどそれがアクションをチェックするように簡単ではありませんので、それはあなたがよ、完全なURLになりますあなたがrequest.refererで見ることができるのHTTP Refererヘッダを使用しています完全な文字列のURLと照合する必要があります。 request.refererがnilでも空でもケースを処理するようにしてください。

関連する問題