Quero ser um bom cidadão do mundo HTTP e responder com códigos de erro 4xx quando o formulário enviado tiver erros de validação. Infelizmente, o PJAX não exibe o conteúdo dessas páginas. É assim que eu torço o braço do PJAX e o forço a lidar com 422 (“entidade não processável”) como se fosse um sucesso:
$(document).on('pjax:error', function(event, xhr, textStatus, errorThrown, options){
if (xhr.status == 422) {
options.success(xhr.responseText, status, xhr);
return false;
}
});
Sim, isso faz com que pjax: success seja acionado imediatamente após pjax: error. Ah bem.