Rails: загрузка нескольких файлов в качестве вложенной модели
-
14-10-2019 - |
Вопрос
Я работаю над проектом, где необходимо загрузить несколько файлов разных типов.
Я хочу сохранить файлы в базе данных (я не уверен, является ли это лучшей идеей) в качестве вложенной модели. Может называться документ.
У меня есть вопросы.
Должен ли я использовать плагин / драгоценный камень, я не нашел простой реализации.
Если да, то какой будет лучший драгоценный камень / плагин для этого? Насколько я мог бы избавиться от PaperClip не поддерживает хранение в базе данных, но Attact_fu делает.
Можно ли сделать это с jQuery, не обновляя страницу?
Я также хотел бы обработать некоторые ошибки в отношении размера файлов и типов.
С уважением, Хардик
PS: я использую Rails 2.3.5
Решение
прежде всего, никогда когда -либо храните файлы в базе данных!
Если вы сохраняете файлы в базе данных, вы должны запросить его и пройти через стек Whole Rails, чтобы получить файл. Как вы можете себе представить: это медленно. Вебсервер есть много Быстро в доставке файлов и статического контента, потому что они создают для этого. Если ваш сайт становится больше, было бы неплохо разместить ваш статический контент в другом месте, например, Amazon S3 или другие хосты актива. Если ваши файлы не в базе данных, они независимы и легко перемещаться (помощник Image_tag - это ваш лучший друг).
Конечно ты не Придется использовать плагин/драгоценный камень. Вы всегда можете реализовать все самостоятельно, но это, конечно, плохая идея, потому что другие уже изобрели это колесо, что экономит вам много времени.
Paperclip по -прежнему мой выбор, довольно хороший, и, на мой взгляд, легче обрабатывать, чем Attact_fu. У него также есть запрошенные проверки.
Конечно, есть http://www.uploadify.com/ Например, позволяет загрузить несколько файлов и то, что вы можете себе представить :)
С уважением,
Алекс