2012-10-03 4 views
0

URL 매개 변수를 form_tag에 병합하고 싶습니다. 그러나 매개 변수를 덮어 쓸 때 매개 변수가 무엇인지 지시 할 수는 없습니다. params를 전달하는 목적은 필터링 및 정렬 변수를 제공하는 것이므로 URL에 숨김이 표시되지 않도록하려는 것입니다.form_tag에 URL 매개 변수 추가

내가 왔어요 가장 가까운이 작업을 수행하는 것입니다 : 그것은 POST에 해결되도록

form_tag(:controller => 'assets',:action => 'index', :params => params.merge(:order => 'name'), :method => :get) do 

문제는 :get 방법은 단순히 다른 PARAM로 전달하고 실제로하는 방법으로되어 있다는 점이다.

다음도 시도해 보았지만 작동하지 않습니다.

form_tag(params.merge(:order => 'name', :method => :get) do 

경로는 정확하지만 당신이 PARAM이 &로 시작되지 않은 것을 볼로 URL의 PARAMS는 이상하게 포맷되지만 양식이 제출 될 때 그럼에도 불구하고 손실됩니다.

action="/assets?commit=Filter&order=name&utf8=%E2%9C%93" method="get" 

다음은 params를 덮어 쓰는 또 다른 예입니다. 다음 코드는 폼 코드의 기본 요소를 생성하지만 매개 변수는 제거됩니다. params 객체를 파라미터가 제출 전달되지 않습니다

form_tag(url_for(:order => 'name'), :method => :get) do 

기본 코드 :

: 내 경험에

action="/asset_ratings?order=name" 

답변