2013-04-05 3 views
0

Я пытаюсь изменить данные по этому запросу, прежде чем сохранитьрельсы обращающиеся ActionDispatch ошибку

Запрос

{"image"=>{"picture"=>[#<ActionDispatch::Http::UploadedFile:0x10c865af8 @tempfile=#<File:/var/folders/bx/6z1z5yks56j40v15n43tjh1c0000gn/T/RackMultipart20130404-53101-1p7gv92-0>, 
@headers="Content-Disposition: form-data; name=\"image[picture][]\"; filename=\"ATA.png\"\r\nContent-Type: image/png\r\n", 
@content_type="image/png", 
@original_filename="ATA.png">, 
#<ActionDispatch::Http::UploadedFile:0x10c865ad0 @tempfile=#<File:/var/folders/bx/6z1z5yks56j40v15n43tjh1c0000gn/T/RackMultipart20130404-53101-992qy5-0>, 
@headers="Content-Disposition: form-data; name=\"image[picture][]\"; filename=\"[email protected]\"\r\nContent-Type: image/png\r\n", 
@content_type="image/png", 
@original_filename="[email protected]">], 
"album_id"=>"10"}, 
"authenticity_token"=>"00/bnTiry5OIgGsXzeWIV2FccFiIRhsxuTg/Uep32H8=", 
"commit"=>"Submit", 
"utf8"=>"✓", 
"album_id"=>"10"} 

Контроллер

def create 
    @album = Album.find(params[:album_id]) 
     p = Image.find(params[:image][:picture]) 
     p.each do |pic| 
      @image = @album.images.new(params[:image][p => :picture]) 
     end 
     if @image.save 
      flash[:notice] = "Successfully added image!" 
      redirect_to [:admin, @album, :images] 
     else 
      flash[:notice] = "failed" 
     end 
    end 

Почему этот код произведет эту ошибку ? Если эта ошибка будет решена, будет ли этот код работать даже для создания нового объекта изображения для каждого массива :picture в хэше?

ответ

1

Я предполагаю, что это просто опечатка:

p.each do |pic| 
    @image = @album.images.new(params[:image][p => :picture]) 
end 

Вы делаете do |pic|, но не использовать pic в любом месте.

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