2011-01-10 52 views

回答

66

尝试使用HTTP_REFERER

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

5

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

您可以使用Javascript代码发送请求,并将当前网址与请求一起发送。

+1

这正是正确答案,我们都应该再读Roy Fielding的论文! – awenkhh 2015-03-12 08:21:22

12

使用

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

here is more details.

4

只是碰到这种问题来了,这涉及到简单的东西,我做什么现在。

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

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