Ho installato un tema bootstrap e tutto funziona bene a livello locale. Tuttavia, quando sono andato a spingere su heroku, la mia app non ha trovato i caratteri. Ho precompilato le risorse e premuto su heroku, ma senza icone.app rails non trova icone fontawesome su heroku
Così, ho fatto il mio ambiente di sviluppo come Heroku con quanto segue in development.rb:
config.assets.debug = true
# Disable Rails's static asset server (Apache or nginx will already do this).
config.serve_static_assets = true
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
# Generate digests for assets URLs.
config.assets.digest = true
ora, il mio ambiente dev non riesce a trovare i file di font. I file di font sono in due sedi:
app/assets/fonts/fontawesome-webfont.*
public/assets/fontawesome-webfont.*
tuttavia, ottengo questo errore:
ActionController::RoutingError (No route matches [GET] "/assets/fontawesome-webfont.svg"):
ecco come essi vengono caricati dal file css precomplied (application-xxxxxxxxx.css):
@font-face {
font-family: 'FontAwesome';
src: url('fontawesome-webfont.eot?v=4.0.3');
src: url('fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('fontawesome-webfont.woff?v=4.0.3') format('woff'), url('fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
cosa sto facendo di sbagliato?
ho aggiunto quella riga di codice e precompilato di nuovo. Non sembra che faccia nulla. Ottengo sempre lo stesso errore. –
sei sicuro che dovrei puntare alla cartella app/assets e non alla cartella public/assets? –
Ehi la riga sopra in application.rb serve per includere i caratteri nei percorsi degli asset per poterli prendere per la precompilazione in modalità produzione. Quando si precompilano gli asset in produzione, tutti andranno alla cartella "public/assets". È possibile modificare il percorso predefinito utilizzando l'opzione config.assets.prefix. –