2014-09-20 4 views
1

У меня есть Rails 4 + CarrierWave + Вложенные формы для Ad модели, которая, как многие Image (монтаж PictureUploader в picture)Самовольная параметры Carrierwave файл загрузить

Когда я пытаюсь добавить или изменить Ad, у меня есть неразрешенный параметры picture

Parameters: {"utf8"=>"✓", 
"ad"=>{ 
    "title"=>"plot", 
    "images_attributes"=> 
     { "0" => 
     { 
      "picture"=>[#<ActionDispatch::Http::UploadedFile:0x007fbea1ddedb8 @tempfile=#<Tempfile:/var/folders/t8/fm77jh7j6232v5km2llkgq1r0000gn/T/RackMultipart20140921-33609-54hs6k>, @original_filename="New-york-rental-apartment-1-.gif", @content_type="image/gif", @headers="Content-Disposition: form-data; name=\"ad[images_attributes][0][picture][]\"; filename=\"New-york-rental-apartment-1-.gif\"\r\nContent-Type: image/gif\r\n">], 
      "_destroy"=>"false" 
     } 
     } 
    } 
} 

Unpermitted parameters: parent_id 
Unpermitted parameters: parent_id 
Unpermitted parameters: picture 

Я разрешил параметр со следующим. (В соответствии с this Rails Guide, мой код должен работать)

params.require(:ad).permit(:picture, :title, :images_attributes => [:picture, :id, :_destroy]) 

я получаю только резервное изображение из carrierwave и теперь я невежествен.

EDIT 1:

Найдено this issue на GitHub обсуждения о Carrierwave не работает с вложенными формами.

Также найдено A complete sample of how to perform nested polymorphic uploads in rails using carrierwave. Он находится в Rails 3, и я еще не тестировал его.

ответ

0

Я учился после учебников и перепутал свой код. A complete sample of how to perform nested polymorphic uploads in rails using carrierwave работает.

Я использовал nested_form и настроил file, чтобы принять несколько файлов. Я изменил свой вход каждого файла, чтобы принять только один, и теперь он работает.

Смежные вопросы