Я разрешаю пользователю на моем веб-сайте загружать до трех изображений. Итак, в моей форме у меня есть эти элементы:
<label>Additional Images*<span class="note">(Maximum: 3, 200 pixels wide)</span></label>
<%= f.file_field :images, { :multiple => "", :accept => "image/*" } %>
<div id="images"></div>
У меня есть некоторый javascript, который проверяет, были ли выбраны только 3 изображения или меньше, а также создает миниатюры изображений и добавляет их в качестве дочерних элементов в div#images. Когда пользователь отправляет форму, параметр :images заполняется массивом информации об изображении, который выглядит следующим образом:
[ #<ActionDispatch::Http::UploadedFile:0x00000007269588
@original_filename="test_banner.jpeg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"custom_form[images][]\"; filename=\"test_banner.jpeg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/tmp/RackMultipart20120726-7134-3hqdve>>,
#<ActionDispatch::Http::UploadedFile:0x00000007269510
@original_filename="test_portrait.jpeg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"custom_form[images][]\"; filename=\"test_portrait.jpeg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/tmp/RackMultipart20120726-7134-18fcs0m>>,
#<ActionDispatch::Http::UploadedFile:0x00000007269498
@original_filename="test_signiture.jpeg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"custom_form[images][]\"; filename=\"test_signiture.jpeg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/tmp/RackMultipart20120726-7134-1q5fy2f>> ]
В моей модели у меня есть 3 атрибута:
has_attached_file :image1,
...
has_attached_file :image2,
...
has_attached_file :image3,
...
Я пытаюсь получить его, чтобы информация из параметра изображений, отправляемого с формой, разделялась и отправлялась в соответствующий атрибут изображения в модели, и если пользователь загрузил только одно или два изображения, другие атрибуты равны нулю. Есть ли способ заставить это работать в рельсах с помощью скрепки?