2011-04-03 183 views
0

我有一個由RoR中的幾個部分組成的頁面。 部分將在用戶按下某個按鈕時出現,並且它們呈現在同一頁面中。 當我更改頁面時,我希望瀏覽器的後退按鈕不會重定向到沒有部分呈現的索引頁面,而是完全位於已經由幾個部分組成的同一頁面中,就像我離開之前那樣。渲染回部分

可能嗎? 如果是的話如何?

+0

你可以用hashbang URL來做到這一點。 – 2011-04-03 09:45:02

+0

這是什麼意思?你可以說得更詳細點嗎 ? – Joe 2011-04-03 10:40:36

+0

我讀過hashbang網址是一個「可怕」的做法是不是? – Joe 2011-04-03 10:43:18

回答

1

您可能會考慮設置會話變量或cookie,以存儲有關當前用戶瀏覽的信息。

在我的應用我有一對夫婦打開工具欄擴展的切換,如果用戶打開它,我希望它保持打開他們是否重裝還是回去等

所以,做這個,當他們點擊按鈕時(我們已經有了一個AJAX請求)(它看起來像你將要做的,以便在點擊時渲染部分)。

在控制器動作,顯示部分我將包括類似:

... 
session[:user_options][:partial_name] = true 
... 

然後在你看來,你可以說:

- if session[:user_options][:partial_name] = true 
    = render 'partial' 

唯一疑難雜症是你必須以確保在整個應用程序中定義會話[:user_options],否則有時會得到零對象錯誤。

我不知道這是不是真的爲您的特定問題最佳的解決方案,但它是一個的解決方案,我很熟悉。測試一下,也許你可以重新混合基本想法以適應你的需要。