Ojo con respond_to

Esto es sólo un apunte, si estás utilizando respond_to… nunca nunca
nunca hagas esto:

respond_to do |format|
format.js {
#cosas javascript
}
format.html
end

Resulta que algunos navegadores (Internet Explorer entre ellos) envían
la cabecera HTTP Accept directamente como ‘/’, como respond_to
retorna la primera coincidencia responderá con format.js en vez de
format.html :frowning:

Para solucionarlo sencillamente hay que hacer esto:

respond_to do |format|

html el primero de todos, o lo que sea que estés retornando por

defecto
format.html
format.js {
# respuesta javascript
}
end

Es decir, el orden importa mucho.

Quisiera culpar a Internet Explorer de ello, pero me temo que es el
comportamiento esperado (aunque me cago en sus muertos, dicho sea de
paso).

No lo he visto en la API y por eso lo pongo, por si le sirve a alguien
:slight_smile:

Saludos

David A., el único desarrollador con una orden de alejamiento de
Jeffrey Zeldman
Simplelogica.net, ahora con un 33,3% más de intromisión en listas de correo

Cuando no hago otra cosa escribo en mildiez.net