Rails: загрузка нескольких файлов в виде вложенной модели
Я работаю над проектом, где необходимо загрузить несколько файлов разного типа.
Я хочу хранить файлы в базе данных (я не уверен, что это также лучшая идея) как вложенную модель. Можно назвать документом.
У меня есть следующие вопросы.
Нужно ли использовать плагин / гем, я не нашел простой реализации этого.
Если да, что будет лучшим гемом / плагином для этого? Насколько я мог понять, paperclip не поддерживает хранение в базе данных, но attachment_fu поддерживает.
Можно ли сделать это с помощью jQuery без обновления страницы?
Я также хотел бы обработать некоторые ошибки, касающиеся размера файлов и типов.
С уважением, Хардик
PS: я использую рельсы 2.3.5
1 ответ
Прежде всего, никогда не храните файлы в базе данных!
Если вы сохраняете файлы в базе данных, вам нужно запросить их и пройти весь стек рельсов, чтобы получить файл. Как вы можете себе представить: это медленно. Веб-сервер намного быстрее доставляет файлы и статический контент, потому что они созданы для этого. Если ваш сайт станет больше, было бы неплохо разместить статический контент в другом месте, например, в Amazon S3 или других хостах ресурсов. Если ваших файлов нет в базе данных, они независимы и их легко перемещать (тогда помощник image_tag - ваш лучший друг).
Конечно, вам не нужно использовать плагин / драгоценный камень. Вы всегда можете реализовать все самостоятельно, но это, конечно, плохая идея, потому что другие уже изобрели это колесо, которое экономит вам много времени.
Скрепка по-прежнему мой выбор, довольно хороший, и, на мой взгляд, легче справиться, чем attachment_fu. Он также имеет запрошенные проверки.
Конечно, есть http://www.uploadify.com/ например, позволяет несколько загрузок файлов и вещей, которые вы можете себе представить:)
С Уважением,
Alex