Rails - как я могу захватить URL, который направлен на текущее действие в моем приложении? - PullRequest
2 голосов
/ 10 мая 2010

Мне нужно посмотреть, с какой страницы поступил запрос в моем контроллере, чтобы я мог перенаправить обратно на него. Например, если я нахожусь на странице, показывающей определенный продукт (скажем, /products/1), и у него есть ссылка на его поставщика (/vendors/12), я хочу быть в состоянии обнаружить внутри vendors_controller, что я пришел на эту страницу от /products/1. Есть ли в Rails простой способ добиться этого, чтобы я мог получить к нему доступ через параметры или сессию? спасибо.

Ответы [ 2 ]

4 голосов
/ 10 мая 2010

redirect_to :back может использоваться в контроллере для перенаправления обратно на страницу, которая отправила запрос. Он использует значение заголовка HTTP_REFERER, чтобы определить, куда вернуться.

0 голосов
/ 10 мая 2010

Вы также можете использовать

redirect_to request.referrer

как указано здесь http://api.rubyonrails.org/classes/ActionController/AbstractRequest.html

Если честно, я думаю, что это то, что делает задняя часть выше. Также смотрите это в другом месте на S / O

Правильно делает redirect_to: обратно в Ruby on Rails, когда реферер недоступен

...