我允许我网站上的用户最多上传三张图片。所以在我的表格中,我有这些元素:
<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,
...
我正在尝试获取它,以便将与表单一起发送的 images 参数中的信息拆分并发送到模型中的相应图像属性,如果用户只上传了一个或两个图像,则其他属性为零。有没有办法可以使用回形针在轨道上完成这项工作?