2016-09-20 8 views
0

두 번째 매개 변수를 URL에 추가하려고합니다 (첫 번째 매개 변수는 계속 유지하려고합니다). 예를 들어, 내가 알파벳 순으로? 정렬 =를 URL/상점이 있고, 위의 코드에서 매개 변수 통화 = CAD레일에 URL에 두 번째 매개 변수 추가

%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' 

를 추가 할, 그러나, 매개 변수는 대체됩니다, 나는/상점? 통화 = CAD를 얻을 예를 들어,/상점 대신? sorting = 알파벳순으로 & 통화 = CAD 내가 뭘 잘못하고 있니?

답변

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] 

희망!

+0

URL에 추가 매개 변수가 추가되지 않습니다. 매개 변수가 하나만 표시됩니다. – user3477051

+0

내 편집을 확인하면 작동합니다! – RSB

+0

'통화 '키가 이미'select_tag'에 있으면 URL에 추가 할 필요가 없습니다. – RSB

0
%form{action: shops_path(sorting: 'alphabetically', currency: 'CAD')} 

params를 경로 도우미에 제공 할 때 params 해시를 병합 할 필요가 없습니다! 도움이

+0

나는 이것도 시도해 본 결과와 동일한 결과를 얻는다. (/ shops? currency = CAD) – user3477051

+0

경로 파일에서 "resources : shops"로 설정 했습니까? – bkunzi01

+0

죄송합니다. 무엇을 설정 하시겠습니까? 경로가 설정되고 작동 중이고 추가 매개 변수가 추가되지 않습니다. – user3477051