2013-05-31 1 views
2

Я пытаюсь разрешить POST для JSON API в рельсах, которые содержат несколько изображений. У меня возникли проблемы с поиском информации, связанной с загрузкой API с has_many вместо nested_attributes.Как принять многократную загрузку файлов с помощью Rails JSON API с Carrierwave

У меня это из параметров в контроллере.

{"component_1"=> 
    #<ActionDispatch::Http::UploadedFile:0x007f8b4b5ac188 
    @content_type="image/png", 
    @headers= 
    "Content-Disposition: form-data; name=\"images[component_1]\"; filename=\"test.png\"\r\nContent-Type: image/png\r\nContent-Length: 2125\r\n", 
    @original_filename="test.png", 
    @tempfile= 
    #<File:/var/folders/t_/991c5xb934q_d6z13gg__7br0000gn/T/RackMultipart20130531-45537-dywznr>>, 
"component_2"=> 
    #<ActionDispatch::Http::UploadedFile:0x007f8b4b5ac0e8 
    @content_type="image/png", 
    @headers= 
    "Content-Disposition: form-data; name=\"images[component_2]\"; filename=\"icon.png\"\r\nContent-Type: image/png\r\nContent-Length: 4235\r\n", 
    @original_filename="icon.png", 
    @tempfile= 
    #<File:/var/folders/t_/991c5xb934q_d6z13gg__7br0000gn/T/RackMultipart20130531-45537-ju4uy>> 
} 

У меня есть модель с установленным пользователем.

Как я могу фактически сохранить изображения из UploadedFiles? Кроме того, я хочу переименовать их, и я не хочу, чтобы временные файлы зависали после того, как я сохранил изображение.

ответ

1

Трудно комментировать, не видя ваш контроллер или код модели, но при этом ответ должен быть довольно простым.

Предположим, у вас есть модель изображения с загрузчиком, установленным в столбце image_file. Если вы создаете новый объект Image в своем контроллере, вы делаете что-то вроде Image.create(image_file: params[:component_<number>]) для каждого загруженного компонента изображения. Это должно дать вам представление о том, как это работает, но они могут быть более изящными способами для этого (nested_attributes для одного)

+0

Всегда самая простая вещь ... Спасибо за помощь. – jbeck

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