2013-03-31 69 views
0

使用Rails 3.2。我想知道如何將Rails中的錯誤顯示在Ajax警報中。這裏是我的代碼:在Ajax警報中顯示導軌錯誤消息

# posts_controller.rb 
def update 
    @post = Post.find(params[:id]) 

    if @post.update_attributes(params[:name] => params[:value]) 
    render :nothing => true 
    else 
    render :text => @post.errors.full_messages[0], :status => :unprocessable_entity 
    end 
end 

# _form.html.erb 
$("#status_buttons button").click(function() { 
    $.ajax({ 
    type: 'POST', 
    url: "<%= post_path(@trip) %>", 
    data: { _method: 'PUT', name: this.name, value: this.value }, 
    error: function() { 
     alert(" *****************Rails error message here**********************"); 
    } 
    }); 
}); 

傳統的驗證錯誤消息應該出現在alert()。任何想法?

謝謝。

回答

0

確定的一種方法是將至少3個參數傳遞給回調函數,並檢查控制檯(或警報)是否有任何參數傳遞錯誤。

error: function(a,b,c) { 
    alert('a contains ' + a); 
    alert('b contains ' + b); 
    alert('c contains ' + c); 
} 

其中一個應該包含錯誤消息:)祝你好運!

0
error: function(jqXHR, textStatus, errorThrown) { ...