2012-11-09 2 views
2

나는 문제가있다, 그 form_tag 메서드에 사용자 지정 url 매개 변수를 전달하려면. 나는 많은 방법을 stackoverflow에서 설명했지만, 아무도 레일 3.2.8에 대해 올바른 것 같습니다.어떻게 params를 레일 form_tag에 전달합니까?

이 내 전류 :

<%= form_tag search_results_path, 
      :method => "get", 
      :params => params.merge(:button => "..."), 
      class: "form-search" do %> 

이 너무 작동하지 않습니다

<%= form_tag search_results_path, 
      :method => "get", 
      :params => params.except(:controller, :action). 
         merge(:button => "..."), 
      class: "form-search" do %> 

그러나 search_results_path 마무리 로딩, PARAMS [: 버튼]이 설정되어 있지 않습니다.

도움 주셔서 감사합니다.

편집 :

내가 action="/search/params?button=xxx이있는보기에서 폼을 렌더링하려고합니다. 이것은 내 탭의 초기 상태 여야하며 페이지가 다시로드 될 때마다이 url 매개 변수가 전달되어 현재 탭을 제공해야합니다.

답변

0

젠체, 어떻게하고 싶은지 설명하십시오. 매개 변수를 양식에 전달하지 마십시오. 의미가 없습니다. 목표가 무엇인지 설명하고 도움을 드릴 수 있습니다. ===========

편집 : [PARAM_NAME]

양식을 통해 컨트롤러에 URL에서 매개 변수를 전달하려면, 당신은 그냥 숨겨진 필드를 만들 수는 PARAMS로 값을 설정 ===

매개 변수가있는 url을 생성하려면 url_for 또는 polymorphic_path를 사용해야합니다. 처럼 :

form_tag(:url => url_for(...path_with_parameters)) 

또는

form_tag(:url => polymorphic_path(...path_with_parameters)) 
관련 문제