Хобрук: Ваш путь к мастерству в программировании

Слияние поиска и фильтрации Rails 3 и Meta_Search

У меня есть этот код:

    <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.

Я благодарю вас с этого момента!


Ответы:


1

Что ж, лучший способ, который у меня есть, это использовать другие параметры, а не только :search. Итак, я бы использовал, например, использовать параметры :rooms :baths или любые другие не для слияния, а для фильтрации (скажем так). Контроллер тоже надо менять. Затем, используя параметры :rooms и :baths, контроллер должен выглядеть примерно так:

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

Не проверял это!

Я изменил это, чтобы проверять, у какого мета_поиска есть помощники для этого.

08.06.2011
Новые материалы

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..

Раскрытие возможностей НЛП: часть речевой маркировки и ее проблемы
В сфере обработки естественного языка (NLP) маркировка частей речи (POS) выступает в качестве фундаментального метода, позволяющего компьютерам понимать и анализировать человеческий язык на..

Под поверхностью: раскрытие деталей системы с помощью инструментов Linux CLI
Чем больше вы изучаете Linux и продвигаетесь вперед, тем больше вам нужно проверять информацию о вашей системе. Эта информация может касаться аппаратного обеспечения, такого как процессор,..