Ruby on Rails:你如何得到以前的URL?

如何在Rails中获得以前的URL? 不是你收到请求的URL,而是之前的请求?

因为我得到一个AJAX请求,并且我需要它们当前所在页面的URL(或AJAX之前的URL)。

尝试使用HTTP_REFERER

在Rails中: request.referrerrequest.headers["HTTP_REFERER"]

使用

 <%= url_for(:back) %> # if request.env["HTTP_REFERER"] is set to "http://www.example.com" # => http://www.example.com 

这里是更多的细节。

在Web应用程序中,不存在以前的URL。 http协议是无状态的,所以每个请求都是相互独立的。

你可以有Javascript代码,发回请求,发送当前的URL与请求。

刚刚遇到这个问题,它与我目前正在做的简单事情有关。

我之前在使用ajax向导样式应用程序时采用的一个简单解决scheme是存储两个包含前一个和当前请求(包括所有参数)的会话variables。 我只是将这两行添加到我的应用程序控制器

 session[:previous_request_url] = session[:current_request_url] session[:current_request_url] = request.url 

http://railscasts.com/episodes/246-ajax-history-state – >伟大的阿贾克斯

http://ethilien.net/archives/better-redirects-in-rails/ – >你可以把会议尽可能多的以前的url,只要你想。