У меня есть следующая модель:
activity_types: id, name
activities: id, id_activity_type, occurrences, date (other fields)
Таблица видов деятельности хранит информацию о том, сколько раз в день происходит тот или иной вид деятельности. Но теперь я хочу показать пользователю, сколько видов деятельности каждого типа произошло за месяц.
Я нашел следующее решение основанное на этом посте, которое кажется нормальным:
Activity.all(:joins => :activity_types,
:select => "activity_types.id, activity_types.name, SUM(activities.occurrences) as occurrences",
:group => "activity_types.id, activity_types.name",
:order => "activity_types.id")
но это кажется много кода для стандартов rails и API rails говорит, что это устарело.
Я нашел следующее решение, которое намного проще:
Activity.sum(:occurrences).group(:activity_type_id)
Которое возвращает хэш с activity_type_id => occurrences.
Что мне нужно сделать, чтобы получить следующий хэш: activity_type.name => occurrences ?