我有一堆用于过滤的链接和切换按钮。我希望能够根据切换按钮的状态以及是否已将参数添加到URL中,从URL添加/删除搜索参数。也就是说,如果参数已经在URL中,当我单击与该参数相关的链接/切换按钮时,它应该被删除或更改为其相反的值。没有javascript。也就是说,我应该为后端的每个链接/按钮生成一个适当的链接。 URL可能类似于:
/search?q=aaa&filter1=123
/search?q=aaa&filter1=123&filter2=555&filter3=aaaaaaaa
按下链接" filter2"时,它应该成为:
/search?q=aaa&filter1=123&filter3=aaaaaaaa
当然,我可以通过在后端手动分析URL来实现这一点。但我想知道,是不是有更简单,更通用的方式?我认为可能会使用params.merge(...)和params.slice(...),但是怎么样?如果有的话。