【发布时间】:2016-05-24 14:10:47
【问题描述】:
我将本地carrierwave 多个上传器实现到activeadmin。 图像正确保存到数据库。而且我可以通过这种方式在 FORM 中预览现有图像以进行单个输入:
f.input :background, :as => :file, :hint => image_tag(f.object.background.url(:thumb)`)
但我无法在 FORM 中预览现有图像以进行多个输入:
f.input :images, as: :file, input_html: { multiple: true}, :hint => f.object.images.each {|i| image_tag(i.url(:thumb))}
而且它在网络浏览器中什么也不渲染。但是如果我把这段代码放到 content_tag 中:
f.input :images, as: :file, input_html: { multiple: true}, :hint => content_tag(:div, f.object.images.each {|i| image_tag(i.url(:thumb))})
它给了我类似的东西:
[#<ProductAdditionalImagesUploader:0x007f5f430339d8 @model=#<Basrelief id: 1,
title: "Барельеф", description: "Барельеф...",
price_m: #<BigDecimal:7f5f42042600,'0.1E4',9(18)>,
created_at: "2016-02-07 22:31:34", updated_at: "2016-02-12 23:42:02",
background: "Bar_8.jpg", images: ["1.jpg", "2.jpg"]>, @mounted_as=:images,
@storage=#<CarrierWave::Storage::File:0x007f5f43033938
@uploader=#<ProductAdditionalImagesUploader:0x007f5f430339d8...
我想说明,在 SHOW 中,我可以通过这种方式预览这些图像:
row :images do
ul do
basrelief.images.each do |image|
li do
image_tag image.url(:thumb)
end
end
end
end
我做错了什么?也许还有其他方法。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 activeadmin carrierwave