2010-09-27 73 views
1

我正在使用rails上的ruby项目。我想在调用动作或重定向到调用动作的页面时刷新同一页面。刷新相同页面

我该怎么做?

回答

4

你可以使用'render'刷新页面,'redirect_to'重定向到通过其控制器的页面。

,如果要存储一个页面重定向到,您可以使用:

def store_location 
session[:return_to] = request.fullpath 
end 

def redirect_back_or(default) 
    redirect_to(session[:return_to] || default) 
    clear_return_to 
end 

def clear_return_to 
    session[:return_to] = nil 
end 

这是从迈克尔·哈特尔的书拍摄,他用类似的代码在用户登录后重定向到所请求的页面。

http://railstutorial.org/chapters/updating-showing-and-deleting-users#sec:friendly_forwarding

+0

如果我没有任何与我的页面关联的登录和会话,该怎么办? – Jayaram 2010-09-27 21:23:26

+0

会话与登录无关,并且在那里除非您明确关闭它们。他们是为浏览您的网站的特定人员存储数据的一种方式。 我从你的问题中了解到,操作被调用的页面始终不一样,你想跟踪它。如果是这样,您需要使用会话,以便您为一个人存储的值不会干扰另一个人。 如果您只有一个页面调用该特定操作,那么您已经知道该页面的路径,并且不需要存储它。所以你可以直接使用'redirect_to'或'render'。 – 2010-09-28 16:07:23