我正在使用多个重定向,我想从A-> B-> C-> A重定向。
所以在B中,我将路径A保存为
@previouspage = request.referer
所以@previouspage = A此时,但是当我在C中调用@previouspage时,它不会带来保存在B中的硬值,而是找到它自己的相对request.referer,即B.
所以在C中,@ previouspage = B(因为我认为Ruby中的变量是软链接)
我如何只保存request.referer在B点的值,然后将该URL保存到我以后可以访问的变量中?
答案 0 :(得分:3)
HTTP是无状态协议:请求之间不会记住变量。如果要在请求之间保存状态,则可以使用会话。在Rails中,它是这样完成的:
在B:
session[:page_a] = request.referer
在C:
@next_page = session[:page_a]
Rails Security Guide从会话及其漏洞开始。你可能想看一下。
答案 1 :(得分:2)
请求之间不保留Rails变量。如果您想保存一些数据,您应该:
答案 2 :(得分:2)
使这项工作需要三件事