Лучший способ реализовать простую сортировку / поиск в Rails

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

пример интерфейса

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

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам