Есть связка habtm между Tag и Topic (c категориями discuss и publication).
Если стоит задача вывести Tag с сортировкой по определенной категории Topic, то запрос будет выглядет так:
tags = Tag.active.joins(:topics)
tags = tags.where(topics: { cat: 'discuss' }).group('
tags.id').order('count(
topics.id) DESC') if discuss
tags = tags.where(topics: { cat: 'publication' }).group('
tags.id').order('count(
topics.id) DESC') if publication
Но так неверно будет, так как нужна именно сортировка по количеству тегов в разделах, а тут выборка получается.
Как же можно правильно вывести с сортировкой?