Загрузка нескольких файлов для новой записи - PullRequest
2 голосов
/ 21 ноября 2011

Я реализовал несколько загрузок файлов для существующих записей, как показано здесь https://github.com/websymphony/Rails3-Paperclip-Uploadify

Я хотел бы знать, возможно ли реализовать несколько загрузок файлов при создании новой записи.

Поскольку нам требуется флэш-память для выполнения нескольких загрузок файлов, как можно было бы связать загруженные файлы с записью, если запись еще не была создана.

Я подумал о способе хакерствасделать «черновик» и обновить его.Тем не менее, я надеюсь, что есть лучший способ сделать это.

Ответы [ 2 ]

4 голосов
/ 22 ноября 2011

Нет ничего лучше, чем тот хакерский способ, которым вы представляете:

  • создание объектов-сирот и предоставление их родителям позже или удаление их (печально, да? :))

  • при создании родительского объекта по умолчанию добавьте в форму поле подтверждения, чтобы вы знали, какие объекты действительно имеют владельца, удалите остальные.

Кстати,вам не нужна флэш-память для нескольких загрузок, смотрите здесь: http://blueimp.github.com/jQuery-File-Upload/

1 голос
/ 12 апреля 2013

Да, вы можете использовать http://blueimp.github.com/jQuery-File-Upload/. Но все же есть некоторые моменты, которые вы должны быть осторожны.

  1. Не забудьте удалить добавленный массив после того, как вы определили поле файла с помощью «множественного». Например: замените «photo [image] []» на «photo [image]». В противном случае средства загрузки файлов, такие как «carrierware», не будут работать.
  2. Если вы используете rails 3.2.13, добавленный массив всегда будет отображаться независимо от того, задано ли имя без добавленного массива. Вы можете использовать "file_field_tag", чтобы решить эту проблему. Пожалуйста, обратитесь к этой проблеме: https://github.com/tors/jquery-fileupload-rails/issues/36.

Для ассоциации:

  1. Вам необходимо создать скрытое текстовое поле, содержащее идентификаторы изображений, которые будут связаны с записью, которую вы собираетесь создать.
  2. Загрузите изображения с помощью jquery-fileupload (это ajax), затем получите идентификаторы изображений из тел ответов.
  3. Установите эти идентификаторы в скрытом поле.
...