Esto parece ser básico pero soy un principiante de Ruby/Rails. Necesito simplemente devolver HTTP 204 en un controlador. WouldCómo devolver HTTP 204 en un controlador de Rails
respond_to do |format|
format.html
end
cambio un 204?
Esto parece ser básico pero soy un principiante de Ruby/Rails. Necesito simplemente devolver HTTP 204 en un controlador. WouldCómo devolver HTTP 204 en un controlador de Rails
respond_to do |format|
format.html
end
cambio un 204?
head :no_content
Probado con Rails 3.2.x, 4.x Hace que el método del controlador responda con el código de estado 204 Sin contenido HTTP.
Un ejemplo del uso de este método dentro de un controlador llamado foobar
:
def foobar
head :no_content
end
Si no desea hacer nada en absoluto se puede hacer esto:
render :nothing => true, :status => 204
o como esto:
render :nothing => true, :status => 204 and return
O puede utilizar la parte :status => 204
con cualquier otro comando render
Mira el método head:
Devuelve una respuesta que no tiene contenido (solo encabezados). El argumento opciones se interpreta como un hash de nombres y valores de encabezado.
Gracias Michael. head: ok es para HTTP 200 y head: created es para 201, pero no pude encontrar el argumento que debería usar con head para devolver un 204. – Nonos
Creo que lo encontré: head: no_content o head 204. ¡Gracias! – Nonos
Si esto responde su pregunta, acepte la respuesta marcando la pequeña marca debajo de las flechas de votación para que otros usuarios sepan que este problema está resuelto. –
Hay un viejo billete de rieles donde esto se desanimó, pero las cosas podrían haber cambiado desde entonces: https://rails.lighthouseapp.com/ projects/8994/tickets/3499-render-nothing-true-should-set-http-status-204 –
@Michael Kohl: Gracias por este enlace, no estaba al tanto de esto. Por lo que yo entiendo, es más una cuestión de estilo o código legible, y el uso de 'head' en lugar de' render: nothing' debe ser más explícito, como la [Guía de Ruby On Rails] (http: //guides.rubyonrails .org/layouts_and_rendering.html # using-render) explica también –