Quand je
render json: {
error: "No such user; check the submitted email address",
status: 400
}
puis faire mes tests et vérifier
response.code
J'en ai 200 plutôt que 400
Je suis sûr que la réponse à cette absurdement simple, mais je cherche depuis une heure et ne semble pas pouvoir faire fonctionner cela. Je pourrais simplement analyser le Json puis vérifier le code d'état ... mais n'y a-t-il pas un moyen d'obtenir response.code pour retourner l'état? Je comprends que techniquement, cela a été un succès et je suppose que c'est pourquoi le code de réponse renvoie 200, mais j'utilisais Jbuilder avant où je pouvais avoir un impact direct sur le code renvoyé.
Vous avez créé le json là, qui sera retourné, et dans ce json sera une identification du statut - 400. Cependant, cela ne dit pas Rails d'envoyer le statut 400 dans l'en-tête.
Vous pourriez faire:
render json: {
error: "No such user; check the submitted email address",
status: 400
}, status: 400
Ou quelque chose comme
payload = {
error: "No such user; check the submitted email address",
status: 400
}
render :json => payload, :status => :bad_request
Vous pouvez utiliser le symbole: bad_request ou le numéro d'état 400.