तरह से मैं यह सिर्फ फ़ाइलों को अपलोड करने के लिए अपने मुख्य फार्म के बाहर एक अलग रूप में जोड़ने के लिए है क्या किया:
= 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
तो मैं दोनों रूपों में fileupload प्लगइन का हिस्सा हुक, इसलिए जैसे:
$("#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 })
मूल रूप से, मैं बाहरी अपलोड फ़ॉर्म से फ़ाइल अपलोड करने के लिए jQuery-File-Upload's API का उपयोग करता हूं।
ध्यान दें कि बाहरी अपलोड फॉर्म पर 'एड' ट्रिगर करते समय child_id
शामिल है ताकि मुझे पता चले कि किस बच्चे ने फ़ाइल अपलोड ट्रिगर किया है। यह मान प्रत्येक कॉलबैक में data
चर में उपलब्ध है।
मैंने बहुत कुछ बताया है क्योंकि बहुत सारे एप्लिकेशन विशिष्ट कोड हैं, उम्मीद है कि आप इसे वहां से समझ सकते हैं।
नेस्टेड फॉर्म HTML4 और HTML5 में अवैध हैं और आम तौर पर समस्याएं पैदा करते हैं ... –
उनका मतलब सचमुच नेस्टेड रूपों का मतलब नहीं है, लेकिन रेलवे तरीके से, जब आप कई मॉडलों के साथ काम करते हैं। – Robin
क्या आपको कभी इसके लिए समाधान मिला है? – Wilhelm