2012-05-18 37 views
0

沒有找到沒有Ajax任何清潔,簡單的解決我的問題。排序和篩選Rails的模型通過選擇標籤沒有Ajax

問題是 - 如何排序&使用select標記篩選任何ActiveRecord模型列表。

我基本上需要的是:

  • 瀏覽器打開新頁面,當用戶選擇另一個值
  • 所有其他網址參數留不變,我不從頭開始創建URL更新URL參數

例如:

  1. 用戶推移/controller/action?sort=date&page=18&filter=A
  2. 那麼他的下拉列表中點擊和改變filterZ
  3. Huray1用戶進入/controller/action?sort=date&page=18&filter=Z
  4. PS:我的應用程序不關心任何行吟詩人的URL參數,控制器,只是動作等。更新filter字段並將用戶移到那裏。

回答

1

你應該在你的表單標籤設置方法"GET"並使用零URL把它提交到當前位置。

<%= form_tag nil, :method => 'GET' do %> 
    ... 

然後,當用戶更改下拉列表的選擇時,您可以使用javascript來提交表單。

+0

已經嘗試過,表單標籤的空操作會除去提交的所有其他參數:( – aristofun

+0

)您可能希望根據URL參數設置表單域。這樣用戶可以看到選擇了哪些選項,並且值將會再次提交 –

0

我已經想出了迄今爲止最好的解決辦法是把所有當前PARAMS隱藏表單域,並提交表單的JS代碼上選擇值的變化。