Rails - предложения по хранению случайного набора параметров в БД - PullRequest
0 голосов
/ 02 февраля 2011

Хорошо, гуру Rails, мне нужен какой-то умный совет.

Я пытаюсь использовать pari api SendGrid: http://sendgrid.com/documentation/ApiParse

Большая проблема заключается в том, что SendGrid делает следующее вСпецификация API:

  • attachments - Количество вложений, включенных в электронное письмо.
  • attachment1, attachment2, ..., attachmentN - Это имена загрузки файлов, где N - общее количествовложений.Например, если количество вложений равно 0, файлы вложений не будут.Если количество вложений равно 3, параметры attachment1, attachment2 и attachment3 будут загружать файлы.Файлы TNEF (winmail.dat) будут извлечены, и в них будут размещены вложения.

Мне нужно сохранить ответ в БД, чтобы я мог отправить его на отложенную работу, чтобы выполнить всю тяжелую работу.

Каков наилучший способ сохранить эту отложенную работу, чтобы использовать ответ?Можно ли как-то превратить ответ в объект Mail.new ()?Или какие-то другие идеи?Случайное число X вложений затрудняет элегантное решение без добавления 100 полей в базу данных.

Спасибо

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

Я бы попробовал сериализовать вложения и хранить их в одном поле. Я не думаю, что воссоздание объекта Mail пойдет вам на пользу.

иди сюда: http://api.rubyonrails.org/classes/ActiveRecord/Base.html и найдите этот заголовок «Сохранение массивов, хэшей и других не отображаемых объектов в текстовых столбцах»

0 голосов
/ 02 февраля 2011

Если я правильно понял, я предлагаю следующее:

Если вам не нужен запрос к полям, вы должны сохранить хэш атрибутов как YAML или JSON в одном поле в таблице базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...