J'ai une collection d'enregistrements dans ma base de données que je veux imprimer pour séparer les tables en fonction de la date d'enregistrement.Rails: Génération de tables basées sur des groupes d'enregistrements de base de données connexes
J'ai donc déjà les éléments suivants (en Haml, FYI):
%table
%tr
%th Name
%th Type
%th Total Hits
- for record in @records
%tr{ :class => cycle('odd','even') }
%td= record.name
%td= record.target_type
%td= record.outbound + record.detail + record.custom + record.dynamic
Actuellement, il affiche tous mes enregistrements de la même table. record.recorded_on
contient la date de mes dossiers. Je veux générer des tables séparées, comme celle ci-dessus, pour chaque jour qui contient tous les enregistrements de ce jour.
Comment est-ce que je ferais ceci?
Merci - exactement ce que je avais besoin. Par curiosité, cependant, que signifie "&:" dans @records = Record.all.group_by (&: recorded_on)? – neezer
&: est un élément appelé Symbol # to_proc, c'est un moyen d'abréger les appels aux méthodes avec des blocs. Ainsi, group_by (&: recorded_on) a le même effet que: group_by {| record | record.recorded_on} –
Max a raison. Dans le deuxième exemple que j'ai mis là-bas, j'ai dû utiliser la version longue parce que je voulais aussi traiter un peu le résultat, ce que la version abrégée ne supporte pas. –