В рельсах, как лучше всего получить сайт, с которого пришел пользователь? Я получаю противоречивую информацию - PullRequest
0 голосов
/ 28 марта 2010

Если я введу URL-адрес непосредственно в адресную строку браузера, я получу следующие результаты:

logger.debug ENV['HTTP_REFERER'] // => 
logger.debug request.referrer    // => /

Итак, первый дает мне пустой результат, чего я и ожидал, а второй дает мне рут? Это правильно? Из документов (http://api.rubyonrails.org/classes/ActionController/AbstractRequest.html#M000478)) кажется, что они должны возвращать одно и то же. И, во-вторых, зачем возвращать рут, если не было реферера.

1 Ответ

0 голосов
/ 28 марта 2010

Правильно возвращает рут, так как, когда вы «попадаете» в приложение, вы сначала попадаете в корень (где route.rb), а затем перенаправляетесь.

Я бы сказал, request.referrer было бы неплохо, если бы он использовался для внутреннего использования в вашем приложении, чтобы знать, откуда (в приложении) пришел пользователь.

Принимая во внимание, что ENV ['HTTP_REFERER'] работает с точки зрения браузера и сообщит вам, откуда пришел пользователь перед посещением вашей страницы.

Надеюсь, это поможет вам, и достаточно ясно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...