2017-03-08 1 views
1

Existe-t-il un moyen d'utiliser la gemme groupdate avec un paramètre dynamique pour la résolution de données?Rails: groupdate GEM modifie la résolution de groupe dynamique sur le paramètre

Normalement, vous pouvez utiliser

User.group_by_day(:created_at).count 

ou

User.group_by_week(:created_at).count 

Mais je veux utiliser l'option de jour/semaine par le paramètre pour changer les graphiques. Alors je besoin de quelque chose comme

User.group_by_groupdate(:created_at, resolution: params[:resolution]).count 

Où params [: résolution] peuvent être "jour", "semaine", "mois", "année", au lieu de faire quelque chose comme ceci:

case params[:resolution] 
when "day" 
User.group_by_day(:created_at).count 
when "week" 
User.group_by_week(:created_at).count 
end 

Répondre

0

comme indiqué dans le docs, vous pouvez le faire

User.group_by_period(params[:resolution], :created_at, permit: %w[day week month year]).count 

en permit option, vous pouvez passer des périodes disponibles. Lorsque vous passez quelque chose d'autre, ArgumentError sera levé.

+0

Merci! .. n'a pas vu ça! – Alex