HTTP_REFERER - это HTTP-заголовок, установленный браузером в запросе, который содержит адрес предыдущей веб-страницы, с которой следовала ссылка на текущую запрашиваемую страницу. не будет установлено при прямой навигации по странице.
REQUEST_URI (также доступен через request.request_uri()
) - это унифицированный идентификатор ресурса, используемый для доступа к контроллеру / действию Rails, и всегда должен быть установлен .
Добавьте этот код отладки в ваше представление:
<ul>
<% request.env.each do |item| %>
<li><%= item[0] %> : <%= item[1] %></li>
<% end %>
</ul>
Если HTTP_REFERER не установлен, убедитесь, что вы переходите на эту страницу по ссылке или перенаправлению, и посмотрите, установлен ли он тогда.
Существует также вероятность того, что ваш браузер не установил заголовок HTTP_REFERER. Убедитесь, что у вас нет надстройки, влияющей на это. Вы можете использовать изящное дополнение Firefox под названием Tamper Data , чтобы увидеть отправляемые заголовки.