Rails:附加URL参数和删除URL参数

ste*_*715 11 ruby ruby-on-rails ruby-on-rails-3

编辑: See below unanswered part II.

(答案) I. 附加URL

我试图通过使用基本参数指南在我的视图中堆叠参数:

users_path(:a => 'test')

以上将返回: ?a=test

但是,我希望能够连续点击:

users_path(:b => 'goat')

并让它回来 ?a=test&b=goat

有关如何堆叠/附加这些URL参数的任何建议?

(没有回答) II.删除参数

如果我想在[x]参数设置旁边添加一个链接,我怎么能删除它各自的参数?

(答案) III.删除page参数

我想page在用户选择参数选项时删除该参数.有没有办法做到这一点?很明显,如果我选择"运动"作为参数类别,例如,分页不应保留在第26页.

tad*_*man 10

如果要附加当前参数,可以尝试:

users_path(params.merge(:b => 'goat'))
Run Code Online (Sandbox Code Playgroud)

您可能想要编写一个帮助您的辅助方法:

def merged_with_current_params(additional)
  params.merge(additional)
end
Run Code Online (Sandbox Code Playgroud)

至于问题的第二部分,您可能希望将传入扩展params为一系列复选框,并适当地设置名称和值.禁用复选框并提交表单将导致从请求中删除该参数.

要删除:page参数,请将其添加到助手中:

params.except(:page).merge(additional)

  • params.except(:per_page).merge(附加的) (2认同)