2010-09-27 70 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