 
       if iframeBody.className is "error"
         options.error?(response)
+        dfd.reject(response)
       else
         options.success?(response)
+        dfd.resolve(response)
 
       $iframe.remove()
       $form.remove()

define [
  'use!vendor/backbone'
  'underscore'
], (Backbone, _) ->

  Backbone.syncWithoutMultipart = Backbone.sync
  Backbone.syncWithMultipart = (method, model, options) ->
    # Create a hidden iframe
    iframeId = 'file_upload_iframe_' + (new Date()).getTime()
    $iframe = $("<iframe id='#{iframeId}' name='#{iframeId}' ></iframe>").hide()

    # Create a hidden form
    httpMethod = {create: 'POST', update: 'PUT', delete: 'DELETE', read: 'GET'}[method]

          $orig = $(attr)
          $orig.after($orig.clone(true))
          attr
        else if !_.isEmpty(attr) and (_.isArray(attr) or typeof attr is 'object')
          toForm(attr, key)
        else if !"#{key}".match(/^_/) and attr? and typeof attr isnt 'object' and typeof attr isnt 'function'
          $el = $ "<input/>",
            name: key
            value: attr
