Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails上构建排序URL?_Ruby On Rails_Sorting_Query String - Fatal编程技术网

Ruby on rails 如何在Rails上构建排序URL?

Ruby on rails 如何在Rails上构建排序URL?,ruby-on-rails,sorting,query-string,Ruby On Rails,Sorting,Query String,我正在处理列表控制器的索引页,它需要几个排序选项。需要查询字符串来确定当前页面的活动排序选项。通过将查询字符串硬编码到排序链接中,我使用了解决此问题的方法: =link_to "Lowest Price","/listings?sort_by=price&order=asc", :class=>"#{'active' if request.query_string =~ /sort_by=price&order=asc/ }" 但这有两个问题。首先,这太脆弱了。其次,它不

我正在处理列表控制器的索引页,它需要几个排序选项。需要查询字符串来确定当前页面的活动排序选项。通过将查询字符串硬编码到排序链接中,我使用了解决此问题的方法:

=link_to "Lowest Price","/listings?sort_by=price&order=asc", :class=>"#{'active' if request.query_string =~ /sort_by=price&order=asc/ }"
但这有两个问题。首先,这太脆弱了。其次,它不支持搜索查询,也不支持任何其他参数——否则它会崩溃

我需要的是一种在不假设查询字符串保持不变的情况下更改排序选项的方法

不确定是否有这样做的最佳实践。我走了很长的路,只是添加了帮助程序来解析url到散列,散列到url,我仍然不知道如何处理活动链接问题。这一切可能需要一段时间


任何建议都将不胜感激。

您可以通过向任何URL帮助器提供键/值对来实现这一点。例如:

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

伟大的如果你认为它足够的话,请把它标记为答案:)我之前试过了,但显然要过10分钟你才能接受正确的答案。啊!我不知道。谢谢