2009-08-27 6 views
2

J'ai l'intention de stocker une génération nocturne de données de rapport dans une base de données, puis d'utiliser des formateurs lorsqu'un utilisateur demande un rapport en temps réel.Comment stocker l'objet de données table ruport dans une base de données?

Quelques indices ... Le Ruport :: Data :: Table objet - qui contient les données - est une collection de Ruport :: Data :: Record objets, accessibles via les "données 'attribuer à savoir

Ruport :: Data :: Table objet

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

Le Ruport :: Data :: Record objet contient hachage 'données' la qui doit aller dans le DB

Ruport :: Data :: Record: 0x7ff138104c90 @ data = {}, @ attributs = []

J'utilise Rails et ActiveRecord

Comment puis-je y parvenir?

Répondre

1

Vous pouvez sérialiser le contenu en utilisant, par exemple, to_yaml ou utiliser l'ancien Marshal. # Dump et #load.

Je fais quelque chose de similaire, bien que mes données - relativement simples - soient contenues dans un OpenStruct. Je génère plusieurs rapports plus longs de manière asynchrone (généralement du jour au lendemain) et récupère leur contenu à partir d'une table "cached_reports" sur demande.

Questions connexes