0

使用 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(). 任何想法?

谢谢。

4

2 回答 2

0

一种确定方法是将至少 3 个参数传递给回调函数,并检查控制台(或警报)是否有任何参数传递了错误。

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

其中之一应该包含错误消息:) 祝你好运!

于 2013-03-31T17:34:40.213 回答
0
error: function( jqXHR, textStatus, errorThrown ) { ...
于 2013-03-31T17:34:44.040 回答