Лучший способ реализовать простую сортировку / поиск в Rails - PullRequest
1 голос
/ 21 мая 2009

Как лучше всего реализовать интерфейс, который выглядит так в рельсах?

interface example

В настоящее время я использую Searchlogic, и это немного болезненно. Проблемы включают в себя:

  • Убедитесь, что некоторые операции остаются ортогональными - например, если вы выберете «Короткие сообщения» и затем выполните поиск, результаты поиска должны быть ограничены короткими сообщениями.

  • Убедитесь, что правильная ссылка получает "выбранный" класс. Прямо сейчас ссылки <a>, поэтому поддерживать это состояние на стороне клиента довольно сложно. Я взламываю это тем, что ответ AJAX на, скажем, сортировку возвращает новый раздел ссылок сортировки с правильной ссылкой «выбрана». Использование переключателей вместо тегов <a> облегчило бы поддержание состояния на стороне клиента - может быть, мне следует это сделать?

1 Ответ

4 голосов
/ 21 мая 2009

Недавно я решил похожую проблему с помощью named_scopes и некоторого метапрограммирования ruby, которую я свернул в плагин с именем find_by_filter .

find_by_filter принимает хэш области видимости имена и ценности, и цепочки их в параметризованный объем вызовов. Если модель имеет named_scope, который соответствует предоставленному имени, это называется. Если named_scope не найден, создается анонимная область.

...