我正在尝试向URL添加第二个参数(并且仍然保留第一个参数)。例如,我有网址/商店?排序=按字母顺序排列,并希望添加参数currency = CAD
%form{action: shops_path(params.merge!({currency: params[:currency]}))}
.input-group
= select_tag 'currency', options_for_select({'USA' => 'USD' , 'Canada' => 'CAD'}, params[:currency]), class: 'select2'
在上面的代码中,参数刚刚被替换,例如我得到/ shop?currency = CAD而不是/ shops?sorting =按字母顺序排列& currency = CAD 我做错了什么?
答案 0 :(得分:0)
%form{action: shops_path(sorting: 'alphabetically', currency: 'CAD')}
在向路径助手提供params时,无需合并params哈希!
答案 1 :(得分:0)
改为使用hidden_field_tag
,
= form_tag shops_path do
.input-group
= select_tag 'currency', options_for_select({'USA' => 'USD' , 'Canada' => 'CAD'}, params[:currency]), class: 'select2'
= hidden_field_tag :sorting, params[:sorting]
希望有所帮助!