使用Jasny Bootstrap文件上载预览

时间:2015-11-04 12:41:27

标签: ruby-on-rails carrierwave jasny-bootstrap multiple-file-upload

我有一个使用Carrierwave内置多文件上传器的应用程序。我正在尝试使用Jasny的Bootstrap文件输入插件实现基本的图像预览和管理(只需要能够删除所选图像),但我没有运气。

它适用于一个图像,但不适用于多个图像。

我的模特:

class Ad < ActiveRecord::Base
  mount_uploaders :images, AdImagesUploader

class AdImagesUploader < CarrierWave::Uploader::Base

我的表格:

= simple_form_for @ad do |f|
  - 5.times do |i|
    .fileinput.fileinput-new{"data-provides" => "fileinput"}
      .fileinput-preview.thumbnail{"data-trigger" => "fileinput", :style => "width: 200px; height: 150px;"}
      %div
        %span.btn.btn-default.btn-file
          %span.fileinput-new Selecione o Arquivo
          %span.fileinput-exists Change
          = f.file_field :images["#{i}"], multiple: true, limit: 4
          = f.hidden_field :images_cache
        %a.btn.btn-default.fileinput-exists{"data-dismiss" => "fileinput", :href => "#"} Remove

我想要:

一个。显示5个输入,以便用户可以选择每个图像并查看预览并使用Jasny的插件控件删除

OR

湾显示一个按钮,为用户尝试通过多项选择上传的每个文件生成5个预览。

'a'的问题是我需要创建5个f.input:images,并且在提交表单时不起作用。

'b'的问题在于它只显示第一张图像的预览,并且只允许控件在第一张图像上工作。

我暂时无法更改Carrierwave的实现,因此我需要使用该配置。我无法实现新模型AdImages来使用常规的CarrierWave上传。

有什么想法吗?我接受其他插件的建议或其他方式来显示预览USING CarrierWave的内置乘法上传功能。

编辑:对于那些不知道的人,CarrierWave在数据库中创建一个JSON列来存储图像文件路径。这就是我尝试在表单中手动插入:image [1]的原因。

0 个答案:

没有答案