У меня есть следующая модель:
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")
но это кажется большим количеством кода для стандартов рельсов и API-интерфейсы rails говорит, что он устарел.
Я нашел следующее решение, которое очень просто:
Activity.sum(:occurrences).group(:activity_type_id)
Возвращает хэш с activity_type_id = > вхождениями.
Что мне делать, чтобы получить следующий хэш: activity_type.name = > вхождения?