На основании ограниченной информации, которую я знаю о вашей системе, я предполагаю, что у вас есть модель, которая отслеживает электронные письма.Это хорошее начало.
Сначала я хотел бы уточнить, что ни в коем случае нельзя хранить файлы в базе данных .Файлы попадают в файловую систему, где их можно читать и записывать намного быстрее.
Теперь, имея в виду, у меня будет модель, которая ассоциируется с вашей моделью электронной почты, возможно, называется Part
.Целью этой модели будет использование Paperclip для хранения файлов.Я бы также назвал вложение part
, и чтобы создать новое, вы должны сделать следующее:
email.parts.build(:part => some_file)
В этом случае Paperclip позаботится о перемещении файла туда, где он должен быть.Чтобы прочитать файл позже, у Paperclip есть методы для этого.Посмотрите документацию Paperclip, она довольно хороша для такого рода вещей.