Rails и ajaxForm - как обнаружить исключение

Я сделал стандартную форму Rails, а затем обернул ее в JQ ajaxForm. Теперь обратный вызов успеха вызывается в любом случае - независимо от того, произошло ли исключение Rails при отправке или нет.

Как заставить ajaxForm обнаруживать исключение Rails? Я хочу в случае ошибки оставаться в форме и отображать текст исключения.

Найдены дополнительные ссылки:

1 ответ

Проверьте статус возвращенного запроса, чтобы определить, есть ли ошибка или просто сделать это как

 if(jqXHR === 0 ){
     //do something with error
 } else {
     //success
 }

Изменить: попробуйте это

"Блок кода для запуска при возникновении ошибки"

$.ajaxSetup({
  error: function(res){
    $('body').prepend(res.responseText)
  }
});

За один метод

def new
  @item = Item.new
  rescue
    render 'shared/exception', :layout => 'overlay'
end

Для всего приложения

class ApplicationController
  around_filter :xhr_exceptions
  # ...
  private
  def xhr_exceptions
    yield
    rescue
      render('shared/exception', :layout => 'overlay', :status => 500) if request.xhr?
  end
end

http://codequietly.com/blog/2010/08/rails-ajax-and-exceptions-bring-it-on если его мертвая попытка кэшируется

Другие вопросы по тегам