Ich habe eine Sammlung von Datensätzen in meiner Datenbank, die ich ausdrucken möchte, um Tabellen basierend auf dem Datensatzdatum zu trennen.Rails: Erstellen von Tabellen basierend auf Gruppen von verwandten Datenbanksätzen
So habe ich bereits die folgenden (in 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
Im Moment es alle meine Aufzeichnungen in der gleichen Tabelle anzeigt. record.recorded_on
enthält das Datum für meine Aufzeichnungen. Ich möchte für jeden Tag, der alle Datensätze für diesen Tag enthält, separate Tabellen wie die obige generieren.
Wie würde ich das tun?
Dank - genau das, was ich brauchte. Aus Neugier, was bedeutet das "&:" in @records = Record.all.group_by (&: recorded_on)? – neezer
&: ist etwas namens Symbol # to_proc, es ist eine Möglichkeit, Aufrufe von Methoden mit Blöcken abzukürzen. So hat group_by (&: recorded_on) den gleichen Effekt wie: group_by {| record | record.recorded_on} –
Max ist richtig. Im zweiten Beispiel, das ich dort aufstellte, musste ich die Longhand verwenden, weil ich das Ergebnis zusätzlich etwas verarbeiten wollte, was die Kurzversion nicht unterstützt. –