2011-08-08 3 views
0

text_field_tag를 rails3 검색 기능에서 select로 바꾸는 방법이 있습니까?Rails3 검색 상자를 선택 드롭 다운으로 바꿉니다.

내 현재 검색 양식 :

<%= form_tag orders_path, :method => 'get', :id => "orders_search" do %> 
<p><%= text_field_tag :search, params[:search] %> 
    <%= submit_tag "Search", :name => nil %></p> 

나는/제한 내 고객 결과를 필터링하는 드롭 다운로 교체하고 싶었다.

<%= select :search, params[:search], ([["Pending"], ["Open"], ["Closed"]]) %>  

그러나이 나에게 500 오류 및 로그의 출력을 제공합니다 : 나는 또한 시도했다

TypeError (expected Array (got String) for param `search'): 

:

<%= select :search, ([["Pending"], ["Open"], ["Closed]]) %>  

에 이르게 나는이 시도했다 잘못된 수의 인수.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

6

Select helper methods in Ruby on Rails을 확인하십시오.

당신은 아마 할 수있는 당신이 필요 :

<%= select_tag "search", options_for_select([ "Pending", "Open", "Closed" ], params[:search]) %> 

- 편집 - (제공 당신이 jQuery를 사용하는) 당신의 application.js에서 다음을 선택 추가에 양식을 제출하기 위해

:

$(document).ready(function() { 

    $("select#search").change(function(){ 
    $(this).closest("form").submit(); 
    }); 

}); 

여기에는 이미 few stack overflow answers이 있습니다.

+0

감사합니다. 이제 내가해야 할 일은 선택시 내 아약스 요청을 시작하고 검색 버튼을 잊는 방법을 알아내는 것입니다. jx –

+0

쉽습니다. 위의 답변을 몇 분 안에 추가 할 것입니다. – Krule

+0

다시 한번 감사드립니다. –

관련 문제