2012-08-08 72 views
0

背景如何爲Rails中select_tag的默認值,並確保在頁面刷新的默認值重新加載

我有一個視圖頁面(abc.html.haml)與2下拉選項A和B. A,B是包含我通過UI展示的部分記錄的列表。

默認情況下,在擊中控制器#索引操作(通過瀏覽器url調用)時,頁面將填充A列表中的記錄。

然後我有一個Ajax調用,它在選擇下拉菜單時使用列表B中的記錄填充相同的頁面。假設我現在已經使用下拉選項從狀態A移動到B.

問題

有一次,我有頁面在頁面填入從列表B,現在的記錄,刷新,我的下拉菜單中仍然保持着相同的狀態「B」,但默認在頁面刷新時從控制器#操作加載的記錄集合來自列表A(因此下拉菜單的狀態應該是'A')。

有關如何爲此獲得解決方法的任何輸入信息?

謝謝。

回答

1

我不知道如果我完全理解你的問題,但有幾個選項,我能想到的:

  • 使用JavaScript來更改URL時,選擇在下拉菜單製成。您可以向網址添加參數,以反映下拉狀態,然後您可以在頁面加載時解析這些參數。

  • 爲用戶提供一個您控制的刷新按鈕,然後您可以在刷新時將信息發送回控制器,以便加載正確的默認值。

  • 當用戶創建它們時,通過ajax調用將當前用戶選擇存儲在數據庫中。我不知道你的應用程序的上下文,所以我不知道這是多麼可行。那麼你顯然可以加載這些頁面加載,如果他們存在。

然而,最簡單的選擇是重置頁面刷新的所有控件,我認爲用戶期望這種行爲。

+0

感謝您的輸入。我正在通過Jquery進行Ajax調用,因爲我正在適當地傳遞參數。頁面視圖按照傳遞的參數進行過濾。通常,用戶進行瀏覽器刷新,如何將頁面刷新時的select_tag重置爲默認值,以查看「不」用相同操作名稱命名的文件?我很抱歉,我意識到我錯過了提到控制器#行動實際上呈現另一個視圖文件,而不是按照正常的Rails約定action.html.haml。可能這是導致異常行爲的原因。 – boddhisattva 2012-08-09 15:11:21