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 если его мертвая попытка кэшируется