2010-02-02 2 views
8

쿼리 문자열을 캡처하여 양식 게시의 일부로 보낼 수있는 방법이 있습니까? 레일즈 2.3.5를 사용하고 있으며 사용자가 여러 쿼리 문자열 매개 변수가있는 페이지에 있습니다. 이 페이지에서 그들은 양식을 제출할 것입니다. 포스트를받는 액션에서, 나는 그 쿼리 스트링 파라미터가 무엇인지 알고 싶다. 분명히, 그들은 게시물의 일부로 보내지지 않습니다. 따라서 사용자가 양식을 제출할 때 페이지에 있던 쿼리 문자열 params와 실제 양식 값이 필요합니다.서식 게시물의 일부로 쿼리 문자열 매개 변수 보내기

내가 사용할 수 있도록 양식의 숨겨진 필드에 querystring 매개 변수를 밀어 넣을 수있는 불쾌한 javascript를 작성할 수는 있지만 추한 것처럼 보일 것입니다. 내 인터넷 검색이 많이 나타나지 않았기 때문에 나는이 모든 잘못을 저 지르지 않을지 궁금합니다. 설상가상으로, 저는 Rails 초보자입니다.

나를 올바른 방향으로 인도하기 위해 어떤 조언이나 아이디어라도 감사하십시오.

답변

9

는 쉬운 방법입니다.

+0

실제로 urer querystring을 생성하기 때문에 더 낫다. – jpwynn

+0

주의 : 브라우저는 GET 요청에 대한 쿼리 문자열을 무시한다.이 경우 브라우저는 각 입력에 대해 숨겨진 필드를 만들어야한다. – fny

+3

@faraz의 설명을 명확하게하기 위해 브라우저는 GET 메소드로 제출하는 양식의 ** action ** URL에서 쿼리 문자열을 무시합니다. –

5

선호되는 방법은 숨겨진 필드를 사용하는 것입니다. 시도하지는 않았지만 *_path 또는 *_url 도우미 내에서 추가 쿼리 문자열 매개 변수를 지정할 수 있다고 생각합니다. 같은 :

<% form_tag params.merge(:action=>"someAction") do %> 

완벽하게 트릭을 때 form_tag를 않았다 만들기에 필요한 해시에 PARAMS 병합 : 내가 믿는 내 친구가 나에게 보여 주었다

<% form_for(@post, 
      :url => post_path(@post, :foo => 'foo', :bar => 'bar')) do |f| %> 
    ... 
<% end %> 
+0

가 어떤 뜻을 행? – Stiig

0
<% form_tag params.merge(:action=>"someAction") do %> 

- 아니 경로 일치 [POST] 내가 편집을 위해 공유 양식이를 사용하여 작업을 생성 할 수 있습니다 경우

관련 문제