В моей модели я применяю несколько методов и, наконец, получаю данные в виде проектов.
Project.active_leads(filter_params).city_id(filter_params).date_range(filter_params)
Я бы порекомендовал вам сделать это как Scopes и кэшировать его через Redis