Domanda

Ho un paio di licenza font che ho incorporato nella mia applicazione Rails utilizzando il tag CSS @font-face. Questi caratteri si trovano nel percorso "../Public/Fonts/" nei miei Rails 3 app e rendono perfettamente su qualsiasi macchina locale che io tiro giù il repo e correre via.

Tuttavia quando spingo la mia app per Heroku può non sembrano trovare i font. Si può dire che si sta cercando nella directory dei font, ma non potrà mai accedervi. Non sembra avere importanza dove metto i caratteri o come digito il percorso del font nella dichiarazione @ font-face.

I miei caratteri sono situati a #{RAILS.root}/public/fonts/ChunkFive

Ecco la mia dichiarazione @ font-face:

@font-face {
font-family: "ChunkFive";
src: url("../fonts/ChunkFive/ChunkFive-webfont.eot");
src: local("?"),
url("../fonts/ChunkFive/ChunkFive-webfont.woff") format("woff"),
url("../fonts/ChunkFive/ChunkFive-webfont.ttf") format("truetype"),
url("../fonts/ChunkFive/ChunkFive-webfont.svg") format("svg");
}

Questa è la risorsa 404 non trovato messaggio che ricevo per ogni tipo di carattere:

Request URL:http://thedanbarrett.heroku.com/fonts/ChunkFive/ChunkFive-webfont.woff
Request Method:GET
Status Code:404 Not Found
Request Headers
Referer:http://thedanbarrett.heroku.com/home
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 
(KHTML,like Gecko) Chrome/8.0.552.224 Safari/534.10
Response Headers
Age:0
Connection:keep-alive
Content-Length:727
Content-Type:text/html
Date:Wed, 05 Jan 2011 15:25:21 GMT
Server:nginx/0.7.67
Via:1.1 varnish
X-Runtime:0.001344
X-Varnish:764492621

La cosa strana è che si trova e carica i fogli di stile, le icone e le immagini nella stessa cartella principale. Giusto per ribadire i caratteri sovrastante e lavoro perfettamente eseguiti da un server locale, anche su host che non hanno il tipo di carattere installato.

Ho trovato un riferimento in linea a qualcuno che stava avendo un problema simile che ha cambiato la loro config.ru e environment.rb i file per rendere più amichevole con Heroku, ma io non riesco a trovarlo.

Grazie in anticipo servitori così per tutto il vostro aiuto!

~ Dan

È stato utile?

Soluzione

Così si è scoperto la radice per le risorse è stato impostato su Public/Stylesheets così la mia dichiarazione di percorso nella sezione font-face era nonsensicalness. Ho preso la più facile e trasferito i font nella directory fogli di stile e tutto funziona perfettamente ora!

Altri suggerimenti

Ecco un esempio che sta lavorando su Heroku: http://www.arailsdemo.com/posts/12

Ecco il corrispondente foglio di stile http://www.arailsdemo.com/stylesheets/application.css

Non mi ricordo che necessitano di eventuali modifiche alla configurazione. Si spera, aiuta.

directory Fonts: app/assets/fonts/

Aggiungi la riga seguente per production.rb

config.serve_static_assets = true

Nel vostro styles.css.scss

@font-face {
  font-family: "mycustomfont";
  src:url(asset_path("mycustomfont.eot"));
  src:url(asset_path("mycustomfont.eot?#iefix")) format("embedded-opentype"),
    url(asset_path("mycustomfont.ttf")) format("truetype"),
    url(asset_path("mycustomfont.svg#mycustomfont")) format("svg"),
    url(asset_path("mycustomfont.woff")) format("woff");
  font-weight: normal;
  font-style: normal;
}

Ambiente: Rails 4.0.1 Ruby 2.0.0-p247

Si dovrebbe lavorare su Heroku:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top