j'ai une action de création comme si dans un contrôleur de rails:rails Obtenir les erreurs de validation JSON en rappel jquery
def create
@user = User.new(params[:user])
if @user.save
redirect_to @user
else
respond_to do |format|
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end
Et en utilisant la méthode ajax jQuery J'ai un rappel d'erreur définie, mais ne peut pas comprendre comment obtenir maintien de la réponse JSON - ie @ user.errors Pour un callback réussi, vous obtenez un paramètre 'data', mais en cas d'erreur vous obtenez seulement (xhr, status, error). Comment puis-je obtenir ces json @ user.errors dans mon rappel d'erreur ajax?
Je pense que je l'ai trouvé dans status.responseText – Cameron
C'est terriblement étrange. Selon la documentation jQuery: 'Les valeurs possibles pour le second argument (outre null) sont "timeout", "error", "notmodified" et "parsererror".' Donc, le statut devrait juste être une chaîne. Ce que vous cherchez * devrait * être quelque part dans l'objet xhr. Si c'est dans votre argument de statut, alors quelque chose de génial se passe. Je me demande si votre bloc format.json est en quelque sorte incorrect. – Samo