2013-10-10 13 views
6

nelle mie rotaie 4 progetto css utilizza i file di caratteri. quindi devono essere precompilati in aggiunta.precompilare risorse specifiche senza impronta digitale md5

ho raggiungere che, con l'aggiunta di righe seguenti config/ambienti/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) 

e attività rake in esecuzione: precompilare in produzione.

tuttavia, risultato è il seguente:

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 

e file CSS si riferiscono a font file senza questo MD5 impronte digitali.

Come posso precompilare le risorse in modo che vengano generate senza l'impronta digitale md5? o dovrei semplicemente metterli su public/fonts/folder in questo caso?

+2

Ti risolvere esso? Ho lo stesso problema .. –

+0

La mia risposta funziona? – Ludovic

risposta

2

Seguire questi passaggi

  • tuo carattere deve essere in app/assets/fonts
  • Aggiungi il tuo carattere per il percorso di asset (come hai fatto), ma preferiscono config/application.rb
  • dichiarare il vostro carattere nel CSS con à @font-face. Troverete some help here
  • Se non si utilizza SCSS, è necessario disporre di css incorporato come application.css.erb e utilizzare l'helper asset_path() per implementare il percorso dei caratteri nella dichiarazione font-face.

Un esempio senza 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

il problema non in come creare i caratteri il problema in quando si precompilano le risorse per il carattere di produzione crea ma con fingerprint md5. Ma dopo nella console di rete hai l'errore fontawesome-webfont-62877.woff 404. Sembra che le rotaie non vedano le risorse di precompilazione in publick/assets fontawesome-webfont-62877-e70f92449ebfddada3d455eb44542655.woff ma quando aggiungo il file fontawesome-webfont-62877.woff senza md5 funziona bene. Come creare precompilare che le rotaie vedano i font in produzione. –

+0

@SergeyChechaev Con il mio metodo, tutto funziona in modalità produzione. Con rails3 ho problemi, la soluzione era copiare la directory dei font in public/assets /. Se non si desidera precompilare i caratteri, perché si desidera aggiungerli al sistema di risorse? È un po 'strano :) – Ludovic

+0

non capisco come precompilare gli asset in modalità di produzione che è fork bene ho errore 404. –