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