带有mount_uploaders的Rails载波多个图像

Rails Carrierwave Multiple Images with mount_uploaders

我正在使用Carrierwave的主分支,并使用mount_uploaders方法。我可以使用mount_uploader方法并上Leaflet个图像,但在使用多个图像时则不能。

我收到此消息,无法缩小问题的确切范围。

保存后,在"创建"和"更新"上均收到:

NoMethodError

1
undefined method `map' for #<ActionDispatch::Http::UploadedFile:0x007fd281d6cdc8>

参数请求:

1
2
"award_images"=>#<ActionDispatch::Http::UploadedFile:0x007fd281d6cdc8 @tempfile=#<Tempfile:/var/folders/zx/47b5lzf16312zkh6949lm1_80000gq/T/RackMultipart20150210-22178-x4x4h9>,
 @original_filename="2009_01_addy_cfgc_videos.jpg",

使用json列-award_images:json

查看:_form

1
2
3
4
5
6
7
8
9
10
11
12
13
Featured Image
<p><center>[wp_ad_camp_2]</center></p><p>
     <%= image_tag(@award.award_images_url, :class =>"image img-responsive featured") if @award.award_images? %>
    <%= f.file_field :award_images, multiple: true, name:"award[award_images]" %>
    <%= f.hidden_field :award_images_cache %>
    </p>

    <p>
<label>
  <%= f.check_box :remove_award_images %>
  Remove Images
</label>
    </p>

型号:

1
2
3
class Award < ActiveRecord::Base
mount_uploaders :award_images, AwardImageUploader
end

控制器:我的强大参数

1
2
3
4
5
private

def award_params
params.require(:award).permit(:title, :award_images, :etc)
end

其他详细信息:

rails4.1.8

Ruby 2.1.2

Postgres


将参数正式列入白名单略有不同。多次上传应列为{variables: []}。请尝试以下操作:

1
2
3
def award_params
   params.require(:award).permit(:title, {award_images: []}, :etc)
end


在您的视图文件中尝试使用其他名称:

1
<%= f.file_field :award_images, multiple: true, name:"award[award_images][]" %>

方括号表示输入字段是一个数组(一个以上的图像)。