Если мы работаем с одной моделью, в рамках которой можно выделить относительно немного значимых полей, то отфильтровать контент обычно не сложно. Размещаем форму с нужными полями и фильтруем. Обычно выглядит примерно так:
Но если работа проходит сразу в рамках множества связанных моделей и общее количество значимых полей уже не позволяет выводить все в одной форме, то приходится извращаться. Хорошее решение у Яндекс.Метрики. Масса полей, масса возможностей для фильтрации, занимает минимум места и при этом достаточно легко пользоватся
Метрика очень удобно это записывает в URL запроса. URL содержит информацию о фильтрации (декодировал и отформатировал):
Похоже что это какой-то язык запроса, который разбирается сервером и отправляется куда-то вроде СУБД.filter=
(ym:s:trafficSource=='ad')
and
(ym:s:goal20267210IsReached=='Yes')
and
((ym:s:regionCountry=='225'))
and
(ym:s:userVisits==1)
Вопрос: кто-нибудь делал подобное? Расскажите как делали фронтенд, бэкенд? Как структурировали запросы? Как их парсили?