2011-08-08 14 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]) %> 

- EDIT -

あなたのapplication.jsに次のselectアドオン(あなたはjQueryのを使用して)にフォームを送信するためには:

$(document).ready(function() { 

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

}); 

すでにこれについてはfew stack overflow answersがあります。

+0

よろしくお願い致します。今私がしなければならないことは、selectボタンで忘れてしまった検索ボタンを忘れることです。:) jx –

+0

これは簡単です。上記の回答を数分で追加します – Krule

+0

もう一度感謝します。 –

関連する問題