加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby on Rails – request.env [‘HTTP_REFERE

发布时间:2020-12-16 21:28:45 所属栏目:百科 来源:网络整理
导读:我正在尝试保存http_referer,以便我可以在用户登录后将用户发送回该URL.现在我的控制器中有一个before_filter,如果尚未通过redirect_to创建会话,则将它们发送到登录页面.但是当我检查HTTP_REFERER时它是nil(而’REQUEST_URI’确实返回我最初来自的地方). 谢
我正在尝试保存http_referer,以便我可以在用户登录后将用户发送回该URL.现在我的控制器中有一个before_filter,如果尚未通过redirect_to创建会话,则将它们发送到登录页面.但是当我检查HTTP_REFERER时它是nil(而’REQUEST_URI’确实返回我最初来自的地方).

谢谢.

解决方法

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,请确保您通过链接或重定向导航到该页面,然后查看是否已设置.

您的浏览器也有可能是not setting HTTP_REFERER标头.请确保您没有影响此的附加组件.您可以使用名为Tamper Data的漂亮的Firefox附加组件来查看正在发送的标头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读