2012-09-28 30 views
7

Servimos algunas fuentes web (.woff) de nuestros recursos estáticos y me gustaría establecer el tipo de mime correcto (application/x-font-woff). Traté de hacer esto en config/initializers/mime_types.rb pero no tuvo efecto:Rails 3 web font (woff) mime type

Mime::Type.register "application/x-font-woff", :woff 

El tipo MIME devuelto todavía permanecía application/octet-stream. Incluso he intentado añadir esta línea (porque era el único otro lugar en la fuente de raíles en el que podía encontrar la cadena "woff"):

Rack::Mime::MIME_TYPES[".woff"] = "application/x-font-woff" 

Pero todavía no ayudó. ¿Cómo configuro correctamente el tipo mime para fuentes web?

Respuesta

12

Hasta estante fija su lista de tipos MIME para una correcta woff, el hack interino es de hecho su línea config/initializers/mime_types.rb:

# tell Rack (and Sprockets) about modern font MIME types: 
Rack::Mime::MIME_TYPES['.woff'] = 'application/x-font-woff' 

tener que realmente tenga efecto, sin embargo, usted tiene que limpiar tmp/cache y reinicie el servidor.

+0

De hecho, tengo que borrar el caché para que funcione. Gracias. – panzi

+1

También vea http://stackoverflow.com/questions/2871655/proper-mime-type-for-fonts para obtener detalles sobre la última –

0

Aunque tampoco encontré una solución de pirateo, investigué esto hace unos días (en mi servidor de despliegue Rails 3.2 ejecutando WEBRick, como referencia), y es Sprockets que establece el tipo de MIME malo en el respuesta, tal vez al delegar la elección a Rack, que tiene una noción tonta de qué tipo MIME pasar para las fuentes (a partir del this ravinggenious commit).

He archivado (detallado) ticket on Sprockets y , con la esperanza de que se solucione aguas arriba donde tenga más sentido, pero tampoco ha visto mucha acción todavía. Probablemente debería haber prestado más atención a ttf y eof también, pero era tarde y no pensé en eso en ese momento.

(Al comentar sobre cualquiera de los dos podría aumentar la conciencia del problema - un problema no es un problema, un montón de personas es un problema digno de fijación :-)

Cuestiones relacionadas