Tengo el siguiente modelo:carriles 3 por grupo y suma
activity_types: id, name
activities: id, id_activity_type, occurrences, date (other fields)
El almacén de mesa actividades cuántas veces se produce una actividad por día. Pero ahora quiero mostrarle al usuario cuántas actividades de cada tipo ocurrieron por mes.
que tiene la siguiente solución based on this post que parece bien:
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")
pero esto parece una gran cantidad de código para los estándares de los carriles y rails API says it's deprecated.
me encontré con la siguiente solución que es mucho más simple:
Activity.sum(:occurrences).group(:activity_type_id)
que devuelve un hash con activity_type_id => ocurrencias.
¿Qué debo hacer para obtener el siguiente hash: activity_type.name => ¿ocurrencias?
'activity_types: id, name' aquí activity_type nombre va a ser UniQ? Agrupar y ordenar en activity_types.id es solo porque quería un hash ordenado basado en activity_types.id, ¿no? –