Вы можете либо сделать render :status => 400
(или какой-либо другой код ошибки) в Rails, что вызовет error
обратный вызов $.ajax()
, либо вы можете отрендерить JSON с сообщением об ошибке:
render :json => { :success => false }
Тогда в вашей функции success_handler
вы бы:
function success_handler (response) {
if (response.success) {
// do stuff
}
}
Edit:
Oh, и update_attributes
возвращает false, если это не удалось.Таким образом, вы можете обработать ваш ответ на основании этого.
Редактировать 2 года спустя:
Через пару лет и после того, как у этого есть несколько голосов, я настоятельно рекомендую использовать status: 400
метод вместо рендеринга 200
.Для этого и нужен обработчик error
в запросах AJAX, и его следует использовать таким образом.