7

Yeni raylar projemde https://github.com/blueimp/jQuery-File-Upload/wiki/Rails-setup-for-V5 kullanmayı deniyorum. assignments olarak adlandırılan ve bunlara eklenmiş birden fazla dosya içeren nesneler yapmak istiyorum.jQuery FIle Upload'u yuvalanmış bir biçimde nasıl kullanırım?

Yüklenen dosyalar için bir yuva formu olan bir ödev için nasıl bir form hazırlarım?

+1

İç içe formlar HTML4 ve HTML5'te yasa dışıdır ve genellikle sorunlara neden olur ... –

+4

Tam anlamıyla yuvalanmış formlar anlamına gelmez, ancak birkaç modelle çalışırken raylarda. – Robin

+0

Bunun için bir çözüm buldunuz mu? – Wilhelm

cevap

2

Bu eklenti, [type = file] bilgi formunu değiştirir ve başka bir formda olduğunda geçersizdir. Bunu çözdüm: <div id="form"> olarak değiştirdiğim dış form. Sana formu göndermeden önce sunucu tarafında nasılsa yüklenenler yönetmek zorunda Tabii

$.post(url, $('#form *').serialize(), function(response){...}, 'json') 

ile jQuery ile formu gönderin.

2

Bu sadece dosyaları yüklemeyle için benim ana formun dışında ayrı bir form eklemektir yaptığı gibi:

= s3_uploader_form post: void_url, as: "photo_url", id: "photo_upload" do 
    = file_field_tag "file", multiple: true 

= form_for @model do |f| 
    ... 
    = f.fields_for :children do |child_fields| 
    = file_field_tag :"#{child_id}_file", multiple: true 

Sonra her iki formlara fileupload eklenti kısmını kanca, şöyle:

$("#photo_upload").fileupload 
    add: (e, data) -> 
    data.submit() 

    done: (e, data) -> 
    file = data.files[0] 

// For each child 
$("##{child_id}_file").fileupload 
    dropzone: $("##{child_id}_dropzone") 
    add: (e, data) -> 
    # Upload the file using the external upload form with the proper form action and fields 
    $rootPhotoUploadForm.fileupload('add', { files: [file], child_id: child_id }) 

Temel olarak, dosyayı bir dış yükleme formundan yüklemek için jQuery-File-Upload's API kullanın.

Dış karşıya yükleme formundaki 'ekle'yi tetiklerken child_id numarasını eklediğime dikkat edin, böylece hangi dosyanın dosya yüklemesini tetiklediğini biliyorum. Bu değer, her geri aramada data değişkeninde kullanılabilir.

Çok fazla uygulamaya özel kod olduğu için çok fazla şey yaptım, umarım buradan çözebilirsiniz.