2015-02-10 89 views
2

我使用的是主分支載波並使用mount_uploaders方法。我可以使用mount_uploader方法並上傳單個圖像,而不是在使用多個圖像時。Rails載波多個圖像與mount_uploaders

我收到此消息,無法精確確定問題的具體內容。

節省,兩個創建和更新後,我收到:

NoMethodError

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

參數請求:

"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

<h2>Featured Image</h2> 
<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> 

型號:

class Award < ActiveRecord::Base 
mount_uploaders :award_images, AwardImageUploader 
end 

控制器:我有很強的PARAMS

private 

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

額外的細節:

的Rails 4.1.8

紅寶石2.1.2

的Postgres

回答

0

您認爲文件嘗試不同的名稱:

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

方括號表示輸入字段是一個數組(多個圖像)。

+0

的Bleh,沒有工作。我現在已經嘗試使用Postgres數組列。哪個也不起作用。儘管我不再有錯誤。所以我將嘗試使用這個數組方法併發布更新。否則,看起來我必須走很長的路。謝謝! – nil 2015-02-11 15:55:38

+0

@你有沒有想過找出答案?我目前處於相同的位置。不要試圖做像你這樣的社團。 – 2016-11-14 21:12:54

1

params的官方白名單略有不同。多次上傳應列入白名單{variables: []}。請嘗試以下操作:

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

source