2010-05-18 2 views
1

검색 자원이 있습니다. 양식을 채우고 제출하여 검색을 수행 할 수 있습니다. 작성 조치가 호출되고 검색이 저장되며 표시 조치가 호출되고 결과가 표시됩니다. 이 모든 것은 기본 POST에서 발생하며 모두 정상적으로 작동합니다.양식 제출 및 GET 및 POST를 사용한 하이퍼 링크

사용자는 saved_search 테이블에 검색을 저장하려고 할 수 있습니다.이 테이블은 통계를 컴파일하기위한 모든 검색을 저장하고 정기적으로 지워지므로 검색 테이블을 사용하지 않습니다. 검색이 저장되면 하이퍼 링크를 클릭하여 다시 실행할 수 있습니다. 여기서 문제가 발생하기 시작합니다.

POST 요청 및 필요한 데이터가 포함 된 검색 만들기 작업을 실행하는 하이퍼 링크를 얻을 방법이 없습니다.

그런 다음 GET 요청을 사용하여 검색을 수행하기 위해 양식 제출과 하이퍼 링크를 모두 가져 오려고했습니다. GET 요청을 사용하여 검색 작성 작업을 실행하려면 form_for를 가져올 수 없었습니다. 항상 라우팅되는 것으로 보입니다. 내 색인 작업.

누군가이 문제에 대한 좋은 평안한 해결책을 제시 할 수 있습니까?

많은 감사

답변

2

나는 당신이 여기서 무엇을하려고하는지 잘 모르겠습니다. 폼이 GET 요청을 제출해야 할 경우에는 form_for 헬퍼에 HTML 속성을 재정의 할 수 또한 "마법"매개 변수를 사용하여 "날조"HTTP 메소드의 방법을 지원

<% form_for blarg, :html => { :method => 'get' } %> 
blabla 
<% end %> 

레일

("_method"라고 함). Rails는 마치 해당 매개 변수에서 HTTP 메소드를 본 것처럼 동작합니다.

"get"으로 양식을 보내는 경우 이러한 매개 변수가 설정되어 있지 않은지 확인해야합니다. 하이퍼 링크가 "POST"를 보내도록하려면, 이것을 조정하면됩니다 (브라우저가 링크를 클릭하면 실제 POST를 보내지 않음)

1

존, 내가 바로 이해하면 검색이 이미 저장되어있는 경우 는, 당신은 당신이 처음처럼 저장된 검색의 리소스에 대한 GET을 만들어에 show 액션을 사용할 수를 결과를 표시하십시오.

어쨌든 링크가있는 게시물을 계속 만들고 싶다면 도우미 메서드 link_to가 도움이됩니다. 확인해보십시오 : http://www.51773.com/tools/api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#M001597

a : method => : post 옵션을 사용하면 숨겨진 양식을 만들고 데이터를 게시합니다.

희망이 있습니다.