<% if field.object_name =~ /.*\[.*\]\[(.*)\]/ %> <% assoc = true %> <% field.object.fileupload_guid = field.object.fileupload_guid + '_' + $1 %> <% else %> <% assoc = false %> <% end %> <%= content_tag(:div, :id => field.id, :class => "uploader-dnd-area") do -%> <% # if assoc || field.object.new_record? %> <%= hidden_field(field.object_name, :fileupload_guid, :object => field.object) %> <% # end %> <div class="uploader-files" data-sort-path="<%= field.sort_path %>"></div> <div class="uploader-dnd-hints"> <div class="uploader-button gray fileinput-button"> <div><%= I18n.t('uploader.button') %></div> <%= fields_for field.object do |f| -%> <%= f.fields_for field.method_name, field.klass.new do |m| -%> <%= m.file_field(:data, field.input_html) %> <% end -%> <% end -%> </div> <div class="uploader-dnd-hint"> <%= I18n.t('uploader.or') %> <span><%= I18n.t('uploader.drop') %></span> </div> </div> <%= render :partial => "uploader/#{field.theme}/upload", :locals => {:field => field} %> <%= render :partial => "uploader/#{field.theme}/download", :locals => {:field => field} %> <script type="text/javascript"> $(function () { var container = $("#<%= field.id %> div.uploader-files"); $('#<%= field.id %> input[type="file"]').attr('name', 'uploader_field').bind("init.uploader", function (e) { if (!$.fn.fileupload) { // not yet loaded return false; } $(this).fileupload({ dataType: 'json', dropZone: $("#<%= field.id %>"), autoUpload: true, paramName: "asset[data]", formData: function (form) { return []; }, filesContainer: container, namespace: 'uploader', uploadTemplateId: 'template-upload-<%= field.klass %>', downloadTemplateId: 'template-download-<%= field.klass %>' }); <% if field.exists? -%> <% fv = field.values.map { |v| v.respond_to?(:to_jq_upload) ? v.to_jq_upload.first : v } %> $(this).data("fileupload") ._renderDownload(<%=raw fv.to_json(:root => false) %>) .appendTo(container); <% end -%> }).trigger("init.uploader"); }); </script> <% end -%>