2009-08-27 6 views
2

Ich beabsichtige, eine nächtliche Erstellung von Berichtsdaten in einer DB zu speichern und dann Formatierer zu verwenden, wenn ein Benutzer in Echtzeit einen Bericht anfordert.Wie ruport Tabelle Datenobjekt in einer Datenbank speichern?

Ein paar Hinweise ... Die Ruport :: Data :: Tabelle Objekt - das die Daten enthält - ist eine Sammlung von Ruport :: Data :: Nehmen Objekte, erreichbar über die 'Daten 'Attribut dh

Ruport :: Data :: Tabelle Objekt

=> Ruport :: Data :: Table: 0xb6455680 @ column_names = [], @ record_class = "Ruport :: Data :: Bilanz ", @ data = []

Die Ruport :: Data :: Nehmen Objekt der Hash-enthält 'data', die in den DB

Ruport :: Data :: Nehmen Sie gehen muss: 0x7ff138104c90 @ data = {}, @ Attribute = []

I Rails und Active bin mit

Wie kann ich das erreichen?

Antwort

1

Sie könnten den Inhalt beispielsweise mit to_yaml serialisieren oder die älteren Marshal. # Dump und #load verwenden.

Ich mache etwas ähnliches, obwohl meine - relativ einfache - Daten in einem OpenStruct enthalten sind. Ich erzeuge mehrere länger laufende Berichte asynchron (normalerweise über Nacht) und lade ihren Inhalt auf Anfrage von einer "cached_reports" -Tabelle ab.