ruby on rails - how - Rails: Render Json Status Problems
rails content_for (1)
Cuando yo
render json: {
error: "No such user; check the submitted email address",
status: 400
}
y luego hacer mis pruebas y comprobar si hay
response.code
Obtengo 200 en lugar de 400
Estoy seguro de que la respuesta a esta absurdamente simple, pero he estado buscando durante una hora y parece que no puedo hacer funcionar esto. Podría simplemente analizar el Json y luego verificar el código de estado ... pero ¿no hay una manera de obtener response.code para devolver el estado? Entiendo que técnicamente fue un éxito y supongo que es por eso que el código de respuesta está regresando a 200, pero estaba usando Jbuilder antes de que pudiera impactar directamente el código devuelto.
Usted creó el json allí, que será devuelto, y en ese json habrá una identificación del estado - 400. Sin embargo, eso no le dice a Rails que envíe el estado 400 en el encabezado.
Podrías hacerlo:
render json: {
error: "No such user; check the submitted email address",
status: 400
}, status: 400
O algo como
payload = {
error: "No such user; check the submitted email address",
status: 400
}
render :json => payload, :status => :bad_request
Puede utilizar el símbolo: bad_request o el número de estado 400.