2010-06-02 34 views

回答

4

從Rails應用程序返回HTML錯誤狀態。在.ajaxForm()選項中,設置'錯誤'回調以處理錯誤狀態。

這裏是你的Rails控制器可能是什麼樣子:

def update 
    @widget = Widget.find(params[:id]) 

    if @widget.update_attributes(params[:widget]) 
    respond_to do |format| 
     format.js { head :ok } 
    end 
    else 
    respond_to do |format| 
     format.js { render :json => @widget.errors.full_messages.join(' '), :status => 400 } 
    end 
    end 
end 

而且這裏是你的.ajaxForm()呼叫可能是什麼樣子(這同樣適用於.ajaxSubmit()):

$('form.ajax').ajaxForm({ 
    success: function(data) { 
    /* response for success */ 
    }, 
    error: function(data) { 
    /* Display validation message response from Rails app */ 
    $('form.ajax').prepend('<p class="errors">' + data.responseText + '</p>'); 
    } 
}); 

你可以閱讀更多關於error回調在jQuery API
Paydrotalks也有重構這些類型的響應很好的教程。

相關問題