编辑: See below unanswered part II.
(答案) I. 追加网址
我正在尝试使用基本参数指南在我的视图中堆叠参数:
users_path(:a => 'test')
以上内容将返回:?a=test
但是,我希望能够连续点击:
users_path(:b => 'goat')
并让它返回?a=test&b=goat
有关如何堆叠/附加这些网址参数的任何建议吗?
(未回答) II。 删除参数
如果我想在参数设置旁边添加[x]
链接,我怎么能删除其各自的参数?
(答案) III。 删除page
参数
我想在用户选择参数选项时删除page
参数。有没有办法做到这一点?很明显,如果我选择“体育”作为参数类别,例如,分页不应保留在第26页上。
答案 0 :(得分:10)
如果要附加当前参数,可以尝试:
users_path(params.merge(:b => 'goat'))
您可能想要编写一个帮助您的辅助方法:
def merged_with_current_params(additional)
params.merge(additional)
end
至于问题的第二部分,您可能希望将传入的params
扩展为一系列复选框,其名称和值设置得恰当。禁用复选框并提交表单会产生从请求中删除该参数的效果。
要删除:page
参数,请将其添加到您的帮助程序中:
params.except(:page).merge(additional)
答案 1 :(得分:0)
您可以使用request.query_parameters
仅使用所需的参数,如下所示:
users_path(request.query_parameters.merge(:b => 'goat'))