В настоящее время я внедряю очень простой IMAP-клиент в приложение, которое я создаю в Rails. Я использую почтовый камень, который предоставляет множество полезных способов анализа данных imap.Сохранить ruby Mail (from gem) object в ActiveRecord
Я хотел бы сохранить объект Mail, который он генерирует в базе данных. Это возможно?
т.е.
email = Email.new
email.uid = id
email.mail = Mail.new(imap.fetch(id, "RFC822")[0]["attr"]["RFC822"]
email.save
Это удобство вещь, где я не хочу, чтобы загрузить объект снова, если я не должен, так как производительность на вызов IMAP медленно, но я хотел бы быть в состоянии иметь его там, чтобы оглянуться назад (и сделать любое разрушение, которое мне нужно было позже).
я мог бы назвать
email.find(x).mail.body
и другие полезные вещи без того, чтобы пристроить эту функциональность в моей собственной модели электронной почты.
Q1: Как бы настроить активную модель записи?
Q1a: Я бы лучше сделал что-то, что исключило вложения, чтобы сделать его более легким объектом для хранения? (Это возможно?)
Цените вашу помощь,
Возможно, я должен уточнить здесь вопрос. Я действительно спрашиваю, могу ли я просто сохранить объект в поле базы данных. т. е. когда я получаю поле, я получаю объект, с которым я могу тогда что-то делать. Я хочу, чтобы всякий раз, когда я его храню, мне нужно настроить полную схему базы данных для электронных писем. – Carpela