redirect_to :back
Илья • 22 мая 2008 г.
Оказывается метод redirect_to может принимать аргумент :back.
def destroy
…
redirect_to :back
end
Теперь пользователь будет переброшен обратно на ту страницу, с которой пришёл запрос на destroy.
Очень полезно, когда действие может быть вызвано сразу с нескольких страниц и не понятно на какую из них пользователя перебрасывать.
9 комментариев:
Извините, но комментарии для этой статьи уже закрыты.

да, офигенно, если пользователь пришел с show…
Ага а еще весело будет если в браузер сразу вбить /destroy/:id Бесконечные редиректы пойдут, ну относительно бесконечные )
давно использую, но сталкнулся с тем, что некоторые личности в опере нечайно снимают галочку с пункта передавать referer и тогда случается ошибка, так что приходится использовать вместе с rescue …
не знаю как сейчас, но раньше это валилось, если http_referer был не определен
Определённо полезно!
Метод действительно интересный, спасибо.
Спасибо, учту при работе…
а как реферер проверить?
Идея хорошая, да реализация хромает. Нужно, к примеру, для полиморфных ресурсов, однако реферер – это то, почему наверное не стоит проверять… самый лучший способ это хранить ссылку на предыдущую страницу в сессии, а лучше всего id + session back url.