Le téléchargement de plusieurs fichiers à la fois à l'application Rails avec Carrierwave (HTML5)

Je suis proche...très proche...je suis en mesure de télécharger des fichiers très bien...mais quand je change le type de mon formulaire file_field à :multiple => true donc je peut télécharger plusieurs images à la fois mes fichiers téléchargés sont enveloppés dans un tableau...et la 'magie' de 'accepts_nested_attributes_for" est perdue.

Edit:
Après un examen plus approfondi, je me demande si j'ai encore besoin de s'embêter avec accepts_nested_attributes_for? Peut-être que je devrais juste avoir un file_field, :multiple => true dans ma Galerie (par opposition à une imbriqué) et ensuite dans mon action create créer la nouvelle galerie et ensuite une boucle sur chaque élément de la params[:gallery][:photos_attributes]["0"][:image] tableau à la main, pour ainsi dire, l'appel de @gallery.photos.create pour chaque élément. ?!? Semble lourd...mais c'est tout ce que je peux venir avec.

En espérant que quelqu'un avec plus d'expérience avec les Rails peuvent carillon...

Params:

{"utf8"=>"✓", 
"authenticity_token"=>"9jXvIwcllct7UyUfo6cvhEucQf2u3SY50SuaCLtFO4c=", 
"gallery"=>{
  "name"=>"First Gallery", 
  "photos_attributes"=>{"0"=>{
    "image"=>[
      #<ActionDispatch::Http::UploadedFile:0x00000104b78978 
        @original_filename="first_test_image.jpg", 
        @content_type="image/jpeg", 
        @headers="Content-Disposition: form-data; name=\"gallery[photos_attributes][0][image][]\"; filename=\"first_test_image.jpg\"\r\nContent-Type: image/jpeg\r\n", 
        @tempfile=#<File:/var/folders/bQ/bQYZC2ukFZCvbKzEDGRtJE+++TI/-Tmp-/RackMultipart20110622-4459-vz78ee>>, 
      #<ActionDispatch::Http::UploadedFile:0x00000104b78950 
        @original_filename="second_test_image.jpg", 
        @content_type="image/jpeg", 
        @headers="Content-Disposition: form-data; name=\"gallery[photos_attributes][0][image][]\"; filename=\"second_test_image.jpg\"\r\nContent-Type: image/jpeg\r\n", 
        @tempfile=#<File:/var/folders/bQ/bQYZC2ukFZCvbKzEDGRtJE+++TI/-Tmp-/RackMultipart20110622-4459-1jzhhyg>>
      ]
    }
  }
}, "commit"=>"Save", "action"=>"create", "controller"=>"galleries"}



#app/models/gallery.rb 
class Gallery < ActiveRecord::Base 
  has_many :photos, :dependent => :destroy 
  accepts_nested_attributes_for :photos 
end 

#app/models/photo.rb 
class Photo < ActiveRecord::Base 
  belongs_to :gallery 
  mount_uploader :photo, PhotoUploader 
end 

#config/routes.rb
resources :galleries do
  resources :photo, :only => [:create, :destroy]
end

GalleriesController

  def new
    @gallery = Gallery.new
    @gallery.photos.build

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @gallery }
    end
  end

  ...

  def create
    @gallery = Gallery.new(params[:gallery])

    respond_to do |format|
      if @gallery.save
        format.html { redirect_to @gallery, notice: 'Gallery was successfully created.' }
        format.json { render json: @gallery, status: :created, location: @gallery }
      else
        format.html { render action: "new" }
        format.json { render json: @gallery.errors, status: :unprocessable_entity }
      end
    end
  end
Juste par curiosité, quel est "utf8"=>"✓"? Pourquoi le tickmark?
Qui va dans les paramètres par défaut lorsque vous faites une demande au serveur pour lui dire ce qu'codage de la chaîne, il est. Vérifiez votre serveur rails de sortie et vous verrez qu'il est là.
Je n'ai pas fait d'utiliser des Rails, il vient de m'intriguait. Merci pour l'explication!
avez-vous jamais réussi à trouver une solution à cela?

OriginalL'auteur Meltemi | 2011-06-22