2012-09-28 2 views
7

Wir bedienen einige Webfonts (.woff) aus unseren statischen Assets und ich möchte den korrekten MIME-Typ einstellen (application/x-font-woff). Ich habe versucht, dies in config/initializers/mime_types.rb zu tun, aber es hatte keine Wirkung:Rails 3 web font (woff) mime type

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

Der zurück MIME-Typ noch application/octet-stream blieb. Ich habe sogar versucht, diese Zeile hinzufügen (weil es den einzigen anderen Ort in den Schienen Quelle war, wo ich die Zeichenfolge "woff" finden konnte):

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

Aber es immer noch nicht helfen. Wie stelle ich den Mime-Typ für Webfonts richtig ein?

Antwort

12

Bis Gestell fixiert seine MIME-Typ-Liste auf eine korrekten woff, der Zwischen Hack ist in der Tat Ihre config/initializers/mime_types.rb Linie:

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

um es tatsächlich nehmen Wirkung, aber Sie haben tmp/cache abzuwischen und den Server neu starten.

+0

In der Tat muss ich den Cache löschen, damit es funktioniert. Vielen Dank. – panzi

+1

Siehe auch http://stackoverflow.com/questions/2871655/proper-mime-type-for-fonts für Details über die neuesten –

0

Während ich auch nicht einige Hack-Lösung zu ihm herausgefunden habe, recherchierte ich dies vor ein paar Tagen (auf meinem Rails 3.2 Dev-Server läuft WEBrick, als Referenz), und es ist Kettenräder, die den schlechten MIME-Typ auf der Antwort, vielleicht indem Sie die Wahl an Rack delegieren, die eine dumme Vorstellung davon hat, welcher MIME-Typ für Schriftarten zu übergeben ist (ab this ravinggenious commit).

Ich archivierte eine (detaillierte) ticket on Sprockets und eine pull request on Rack, in der Hoffnung, es würde stromaufwärts wo es am meisten Sinn statt, aber bisher noch nicht viel Aktion gesehen hat behoben werden. Ich hätte wahrscheinlich auch mehr auf TTF und EOF achten müssen, aber es war spät und ich habe zu der Zeit nicht darüber nachgedacht.

(entweder kommentierte könnte das Bewusstsein für das Problem erhöhen - ein Problem kein Problem, ein Problem im Wert von Befestigungs ein Menschen Haufen ist :-)

Verwandte Themen