2013-10-10 10 views
6

in meinem Schienen 4 Projekt CSS verwendet Schriftarten Dateien. also müssen sie zusätzlich vorkompiliert werden.vorkompilieren bestimmte Vermögenswerte ohne MD5 Fingerabdruck

i erreichen, dass mit dem Hinzufügen von folgenden Zeilen in config/Umgebungen/production.rb

# Add the fonts path 
    config.assets.paths << Rails.root.join('vendor', 'assets', 'fonts','fonts') 
    # 
    # # Precompile additional assets 
    config.assets.precompile += %w(*.svg *.eot *.woff *.ttf) 

und Lauf Rake Vermögen: precompile in der Produktion.

jedoch Ergebnis folgt:

I, [2013-10-10T19:27:51.931963 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-ab2f6984951c07fd89e6afdefabd93c7.eot 
I, [2013-10-10T19:27:51.940615 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-24dfb40c91db789b8b8faba6886ac1ef.svg 
I, [2013-10-10T19:27:51.950685 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-4b2130768da98222338d1519f9179528.ttf 
I, [2013-10-10T19:27:51.983230 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-7a07f26f72466361ac9671de2d33fd1c.woff 

und CSS-Dateien finden Sie Dateien ohne diese md5 Fingerabdruck Schriftart.

Wie kann ich Assets vorkompilieren, damit sie ohne md5-Fingerabdruck generiert werden? oder soll ich sie einfach in den public/fonts/ordner stellen?

+2

Sie es lösen Sie? Ich habe das gleiche Problem .. –

+0

Funktioniert meine Antwort? – Ludovic

Antwort

2

Führen Sie die folgenden Schritte

  • Ihre Schrift muss in app/assets/fonts
  • Ihre Schriftart auf den Pfad Vermögenswerte hinzufügen (wie Sie haben), aber bevorzugen config/application.rb
  • Erklären Sie Ihre Schrift in Ihrem CSS mit à @font-face. Sie finden some help here
  • Wenn Sie nicht SCSS verwenden, müssen Sie css wie application.css.erb eingebettet haben und asset_path() Helfer verwenden, um Ihren Schriftartenpfad in Ihrer Schriftart-Gesichtserklärung zu implementieren.

Ein exemple ohne SCSS:

@font-face { 
    font-family: 'MyFont'; 
    src:url('<%= asset_path("myfont.eot")%>'); 
    src:url('<%= asset_path("myfont.eot?#iefix")%>') format('embedded-opentype'), 
    url('<%= asset_path("myfont.svg#myfont")%>') format('svg'), 
    url('<%= asset_path("myfont.woff")%>') format('woff'), 
    url('<%= asset_path("myfont.ttf")%>') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 
+2

das Problem, nicht in, wie man Schriftarten das Problem erstellen, wenn Sie vorkompilieren Vermögenswerte für die Produktion Schriftart erstellt, aber mit MD5 Fingerabdruck. Aber nachdem in Netzwerk-Konsole fontawesome-webfont-62877.woff 404 Fehler. Es sieht so aus, als ob rails precompile-Assets in publick/assets fontawesome-webfont-62877-e70f92449ebfddada3d455eb44542655.woff nicht sehen, aber wenn ich Datei fontawesome-webfont-62877.woff ohne md5 hinzufüge, ist es in Ordnung. So erstellen Sie Vorkompilierung, die Schienen in der Produktion sehen. –

+0

@SergeyChechaev Mit meiner Methode funktioniert alles im Produktionsmodus. Mit rails3 habe ich Probleme, die Lösung bestand darin, das Fontverzeichnis in public/assets/zu kopieren. Wenn Sie die Schriftarten nicht vorkompilieren möchten, warum möchten Sie sie in das Anlagensystem einfügen? Es ist ein bisschen komisch :) – Ludovic

+0

Ich verstehe nicht, wie Sie im Produktionsmodus vorkompilieren, dass es Gabel ist, ich habe 404 Fehler. –