如果当前 URL 没有参数,我可以使用
link_to "example", url_for(new_param: "1")
但如果当前 URL 已有参数,如 http://localhost:3000/posts?page=1
,我如果还用上面的方法,page
参数就会被忽略。我尝试了 ruby-china 的切换语言链接,当主题列表中含page
参数时,也存在此问题。
我尝试使用下面的方法来 merge 参数
link_to "example", url_for(params.merge(new_param: "1"))
会提示错误:
unable to convert unpermitted parameters to hash
虽然下面的办法会有效,但会影响安全性:
params.permit!
link_to "example", url_for(params.merge(new_param: "1"))
URL 中已存在的参数是不固定的,请问有没有完美的方法实现这个目的?