使用Rails 3.2。我想知道我们如何将错误从Rails推送到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 :(得分:0)
确定的一种方法是将至少3个参数传递给回调函数,并检查控制台(或警报)是否有任何参数传递错误。
error: function(a,b,c) {
alert('a contains ' + a);
alert('b contains ' + b);
alert('c contains ' + c);
}
其中一个应该包含错误消息:)祝你好运!
答案 1 :(得分:0)
error: function( jqXHR, textStatus, errorThrown ) { ...