2013-01-24 75 views
1

我正在使用remotipart上傳和升級圖像使用ajax,問題是當我編輯項目,ajax更新數據,但remotipart(https://github.com/leppert/remotipart)返回圖像更新的「解析錯誤」。解析錯誤使用Remotipart

這是我的形式看起來像:

= form_for(Achievement.new), html: {multipart: true , remote: true} do |f| 
      = f.text_field :name 
      = f.text_area :description 
      = f.file_field :image 
      = f.submit 'Send' 

我使用一個單一的形式來創建,編輯和刪除「成就」。這裏是我的JS:

constructor: -> 
    $('.edit_button').click -> 
     $.ajaxSettings.dataType = "json" 
     @id = $(this).data('id') 
     @content = $(this).parent() 
     @name = $('.form_achievement #name') 
     @description = $('.form_achievement #description') 
     @image = $('.form_achievement .avatar img') 
     @button = $('.form_achievement form input:submit') 
     @form = $('.form_achievement form') 

     #Load data to edit on form 
     $.ajax 
     type: 'get' 
     url: "/en/private/achievements/#{@id}/edit/" 

     success: (data) => 
      alert 'edit' 
      @name.val(data.achievement.name) 
      @description.val(data.achievement.description) 
      @stat.html(data.achievement.stat) 
      @value.val(data.achievement.value) 
      @image.prop 'src', data.image 

     #Change method of the form to put and bind event 
     $.ajaxSettings.dataType = "json" 
     @form.attr('method','put') 
     $('.form_achievement form').attr('action', "/en/private/achievements/#{@id}") 
     $('#achievement_form.accordion .form_achievement').unbind('click', NewAchievement) 

     @form.bind 'ajax:success', (xhr, data, status) => 
      @content.slideUp 'slow', -> 
      $(this).remove() 
      alert 'Edit' 

     @form.bind 'ajax:error', (event, response, error) => 
      alert error 
     @button.bind 'change', => @changeButton() 


     error: (data) -> 
      alert 'error' 

    changeButton: -> 
    @form.submit() 

這解決了我的問題,當我試圖做的,而不改變圖像的編輯,但是當我做編輯試圖提升到了一個新的圖像,返回我一個「解析錯誤」。誰能幫我?

+2

難道有事情做與remotipart發送的事實包裹在