Estoy teniendo problemas para subir varios archivos usando el clip de papel,cargar varios archivos con un clip
mis modelos son como tal
slider has_many imgarrays
imgarrays has_many imageobjects
imageobjects have_attachment(as for paperclip)
no tengo problemas que recibieron una sola imagen y guardarla usando un clip en mi otros modelos, pero no estoy seguro de cómo manejar la matriz devuelta por el parámetro imgarrays
durante la carga de varios archivos.
Aquí está mi carriles registros del servidor:
Started POST "/slider" for 127.0.0.1 at 2012-07-23 10:14:17 +0800
Processing by SliderController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"7HcHtSlOsU/bnxb9emhAsSl/GFBraIE6NxwijHl3REM=", "slider"=>{"question"=>"", "answer"=>"", "score"=>"", "industry_name"=>"",
"imgarrays"=>[#<ActionDispatch::Http::UploadedFile:0x007fb471e99f30 @original_filename="Icon.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"slider[imgarrays][]\"; filename=\"Icon.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/2s/n9wb5x4534nfs1cbrlph32v00000gp/T/RackMultipart20120723-53499-1lyi4yf>>, #<ActionDispatch::Http::UploadedFile:0x007fb471e99dc8 @original_filename="[email protected]", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"slider[imgarrays][]\"; filename=\"[email protected]\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/2s/n9wb5x4534nfs1cbrlph32v00000gp/T/RackMultipart20120723-53499-10lala2>>, #<ActionDispatch::Http::UploadedFile:0x007fb471e99d50 @original_filename="greenButton.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"slider[imgarrays][]\"; filename=\"greenButton.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/2s/n9wb5x4534nfs1cbrlph32v00000gp/T/RackMultipart20120723-53499-or2rdk>>]}, "commit"=>"Create!"}
Completed 500 Internal Server Error in 18ms
ActiveRecord::AssociationTypeMismatch (Imgarray(#70206507050500) expected, got ActionDispatch::Http::UploadedFile(#70206487229960)):
app/controllers/slider_controller.rb:12:in `new'
app/controllers/slider_controller.rb:12:in `create'
Rendered /Users/Kinnovate/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.4ms)
Rendered /Users/Kinnovate/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.4ms)
Rendered /Users/Kinnovate/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (6.5ms)
new.html.erb de control deslizante
<div>
<%= form_for @slider ,:url=>"/slider" , :html => { :multipart => true } do |f| %>
<%= f.label :question , "question"%>
<%= f.text_field :question %> </br>
<%= f.label :answer , "answer array (comma seperated)"%>
<%= f.text_field :answer %> </br>
<%= f.label :score , "score"%>
<%= f.text_field :score %> </br>
<%= f.label :industry_name , "industry"%>
<%= f.text_field :industry_name %> </br>
<%= f.label :attachedimg , "image"%>
<%= f.file_field :imgarrays, :multiple =>:true %> </br>
<%= f.submit "Create", class: "btn btn-large btn-primary" %>
<% end %>
</div>
<%= link_to 'Cancel', slider_index_path %>
¿No puedes usar un ciclo while para iterar a través de la matriz devuelta? – pat34515
oh hombre, una solución tan fácil, gracias! ¿Puedes publicar una respuesta para que pueda aceptar? – henghonglee
posible duplicado de [Paperclip, archivos adjuntos múltiples y validación] (http://stackoverflow.com/questions/4800985/paperclip-multiple-attachments-and-validation) –