Rails 3 get request referrer

2020-02-10 01:19发布

问题:

I'm using Rails 3.0.9, Ruby 1.9.2, Devise 1.3.4 and has a need in Devise session new view to access the request url parameters although I see this as a general Rails request handling question. Essentially, a request is made to a Devise authenticated resource which redirects the user to the login screen. In the login view, I need access to the request url, eg, this is the request url called in the beginning

http://mysite.com/article/5?type=blah

In the redirect login page, I need access to that URL, anyone know how I can do this?

回答1:

You can use request.referer or request.env['HTTP_REFERER'] in your controller to get the referer url.



回答2:

I have just found out that WEBrick handles request.referrer incorrectly. But don't worry. Unicorn handles it right. I did't test that on other servers. You should check this with yours. I don't think that you use WEBrick as a production server.