1

私はこのコードを持っています:

    <div id="busca">
    <div id="form_busca">
        <%= form_for @search, :url => root_path, :html => {:method => :get} do |f| %>
            <%= f.text_field :bairro_or_cidade_or_logradouro_or_estado_contains ,:id => "campo_busca", :placeholder => "Pesquise por logradouro, bairro ou cidade" %>
            <%= f.submit "Buscar", :id => "btn_busca" %>            
    </div>
</div>
        <div id="filtros">
                <ul>
                    <li><%= link_to "Some Text", root_path(:search => {:quartos_less_than => 2}) %></li>
                    <li><%= link_to "Some Text2", params.merge(:search => {:quartos_less_than => 2}) %></li>
                    <li><%= link_to "1 quarto", root_path(params.merge(:search => params[:search], :filter => {:quartos_less_than => 2})) %></li>
                    <li><%= link_to "+ de 1 quarto", params.merge(:search => params[:search], :filter => {:quartos_greater_than => 2}) %></li>
                    <li><%= link_to "1 banheiro", params.merge(:search => params[:search], :filter => {:banheiros_less_than => 2}) %></li>
                    <li><%= link_to "+ de 1 banheiro", params.merge(:search => params[:search], :filter => {:banheiros_greater_than => 2}) %></li>
                </ul>
            </div>
        <a id="filtros_link" href="#">Filtros &raquo;</a>
<% end %>

このリンクをfiltros (フィルター) から以前の検索にマージしたいと思います。例: 都市を検索し、この検索をフィルタリングして、バスルームが 1 つしかない都市を表示します。

誰かが私を助けることができますか?

Ruby 1.8.7 と Rails 3.0.4 を使用しています。検索ジェムは meta_search です。

これからよろしくお願いします!!

4

1 に答える 1

0

私が得た最良の方法は、:search だけでなく、別のパラメーターを使用することです。したがって、たとえば、 params :rooms :baths などを使用して、マージするのではなく、フィルタリングします(このようにしましょう)。コントローラーも変更する必要があります。次に、ビューで :rooms および :baths パラメーターを使用すると、コントローラーは次のようになります。

@search = Property.search(params[:search][:rooms][:baths])

これをテストしませんでした!

これを変更して、どの meta_search にヘルパーがあるかを確認します。

于 2011-06-08T12:03:37.480 に答える