2009-04-24 5 views
1

내가 만든 테이블없는 검색 모델에서 작동하는 검색 양식을 구현하기 위해 form_for를 사용하려고합니다. 검색 양식은 '색인'작업을 계속 실행합니다. 나는 '새'를 사용하여 양식을 작성하고 검색 쿼리를 처리하는 '생성'해야한다고 가정합니다. 로그를 보면 내 POST가 GET으로 변경됩니다. 여기 내 코드는 다음과 같습니다RESTful form_for를 사용 하시겠습니까?

/searches/new.html.erb :

<% form_for :searches, @search, :url => searches_path, :html => {:method => :post} do |f| %> 
    <%= f.error_messages %> 
    <p> 
    <%= f.label :keywords %><br /> 
    <%= f.text_field :keywords %> 
    </p> 
    <p><%= f.submit "Submit" %></p> 
<% end %> 

form_for와 '만들기'작업을 트리거에 대한 표준 방법은 무엇입니까?

답변

1

RESTful map.resources :searches을 사용하고 있습니까?
그렇다면 :urlnew_search_path으로 설정하지 않아야합니까?

+0

예, map.resources : searches를 사용하고 있습니다. pural_path와 POST가 '생성'으로 매핑되어야합니다. new_singular_path는 양식을 표시하는 데 사용하는 new로 매핑됩니다. 나는/검색/새로운 '양식'으로 처리되도록 양식을 싶습니다. 대신 색인을 가져오고 있습니다. – sutee

1

form_for은 모델과 함께 사용됩니다. 간단한 검색 양식을 위해, 나는 이런 일을 reccommend :

<% form_tag posts_path, :method => :get do |f| %> 
    <%= f.text_field :query %> 
<% end %> 

당신은 /posts?query=wtf를 얻을 수 있습니다.

관련 문제