Как сохранить объект данных таблицы ruport в базе данных? - PullRequest
2 голосов
/ 27 августа 2009

Я намерен хранить ночные данные отчета в БД, а затем использовать средства форматирования, когда пользователь запрашивает отчет в режиме реального времени.

Несколько подсказок ... Объект Ruport :: Data :: Table , содержащий данные, является коллекцией объектов Ruport :: Data :: Record , доступных через ' data 'атрибут, т.е.

Ruport :: Data :: Table object

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

Объект Ruport :: Data :: Record содержит хеш 'data' , который должен войти в БД

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

Я использую Rails и ActiveRecord

Как мне этого добиться?

1 Ответ

1 голос
/ 27 августа 2009

Вы можете сериализовать контент, используя, например, to_yaml, или использовать более старый Marshal . # Dump и # load.

Я делаю нечто подобное, хотя мои - относительно простые - данные содержатся в OpenStruct. Я генерирую несколько более длительных отчетов асинхронно (обычно за ночь) и извлекаю их содержимое из таблицы «cached_reports» по запросу.

...