2011-05-30 27 views
0

我正在上市控制器的索引頁面上工作,它需要幾個排序選項。需要查詢字符串來確定當前頁面處於活動狀態的排序選項。我已經通過硬編碼的查詢字符串成排序鏈接用於此問題的方法:如何在Rails上構建排序url?

=link_to "Lowest Price","/listings?sort_by=price&order=asc", :class=>"#{'active' if request.query_string =~ /sort_by=price&order=asc/ }" 

但有兩個問題。首先,這太脆弱了。其次,它不支持搜索查詢或任何其他參數 - 否則會中斷。

我需要的是改變排序選項,而假設的查詢字符串將保持不變的方式...

不知道是否有這樣做的最佳實踐。我走了漫長的道路,只是添加助手來分析網址哈希,散列到網址,我仍然不知道如何處理活動鏈接問題。這可能需要一段時間。

任何建議,將不勝感激。

回答

1

您可以通過爲任何URL助手提供鍵/值對來完成此操作。例如:

listings_url(:sort_by => "asc", :order => "asc") 
+0

好吧!你救了我的命。謝謝。 – picardo 2011-05-30 03:13:45

+0

太棒了!如果您認爲它足夠,請將其標記爲答案:) – Jits 2011-05-30 03:17:39

+0

我之前嘗試過,但顯然需要10分鐘才能接受正確的答案。 – picardo 2011-05-30 03:29:34