Ruby on Rails - request.env['HTTP_REFERER'] returns nil

前端 未结 2 1925
灰色年华
灰色年华 2020-12-10 16:13

I am trying to save the http_referer so I can send the user back to that url after he has logged in. Right now I have a before_filter in my controllers that sends them to a

2条回答
  •  有刺的猬
    2020-12-10 17:06

    HTTP_REFERER is an HTTP header set by the browser in the request containing the the address of the previous web page from which a link to the currently requested page was followed. It will not be set when directly navigating to a page.

    REQUEST_URI (also available via request.request_uri())is the Uniform Resource Identifier used to access the Rails controller/action and should always be set.

    Throw this debugging code into your view:

      <% request.env.each do |item| %>
    • <%= item[0] %> : <%= item[1] %>
    • <% end %>

    If HTTP_REFERER is not set, make sure you are navigating to that page via a link or redirect and see if it is set then.

    There is also a chance your browser is not setting the HTTP_REFERER header. Be sure you do not have an add-on affecting this. You can use a nifty Firefox add-on called Tamper Data to see the headers being sent.

提交回复
热议问题