Как я могу иметь одну форму поля поиска, которая выводит все записи из всех моделей? - PullRequest
0 голосов
/ 13 января 2011

Я хочу создать действительно простую форму поиска, в основном одно поле, которое появляется в заголовке каждой страницы моего приложения.

В моем приложении есть несколько моделей, каждая с несколькими полями.

Я бы хотел знать, как этот поиск передается в качестве параметра в вывод, который показывает все экземпляры этого текстового элемента или элементов (то есть, если есть два элемента, имя и фамилия, дляНапример, он извлекает записи, которые имеют оба значения).

В настоящее время я использую searchlogic, но я думаю, что это действительно специфично для полей.Посмотрел в тексте, так как я нахожусь на героку, но мне все еще не ясно, что делать или если это правильный путь.Спасибо.

1 Ответ

0 голосов
/ 13 января 2011

Попробуйте SOLR - он создаст индекс ваших моделей, и вы сможете искать по нему.SOLR - это поисковая система - используйте следующие гемы в rails: 'sunspot', 'sunspot_rails'

Вы будете делать что-то вроде:

@sunspot_search = Sunspot.search User, Event, Coupon do |query| 
  query.keywords @search_query
  query.with(:starts_at).greater_than Time.now
  query.order_by(:starts_at, :asc)
  query.paginate(:page => @page_number, :per_page => 200)
end

@ sunspot_search будет иметь ваш массив результатовчто вы будете повторяться.

http://websolr.com/ позволяет легко настроить;работает над Heroku.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...