2012-06-19 3 views
6

Lavorando su binari, le immagini non sono visibili e danno errori.nessun percorso corrisponde alle risorse/immagini in Rails

Started GET "/assets/home.png" for 127.0.0.1 at 2012-06-19 12:23:24 +0530 
Served asset /home.png - 404 Not Found (24ms) 
ActionController::RoutingError (No route matches [GET] "/assets/home.png"): 

ho usato il comando

rake assets:precompile 

production.rb

config.assets.compress = true 
config.assets.compile = false 

application.rb

config.assets.enabled = true 
config.assets.version = '1.0' 

Grazie per qualsiasi aiuto!

risposta

6

In realtà non è possibile fare riferimento all'immagine con il percorso /assets/home.png. Essa opererà in modalità di sviluppo, ma nella produzione di tutte le risorse hanno un'impronta digitale nel loro nome (leggere questo http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark)

Ecco perché, nelle applicazioni di asset-gasdotto abilitato è necessario fare riferimento tutte le vostre risorse con metodi helper . Leggi questo documento per conoscere i diversi helper disponibili nei file Ruby, JS e Sass: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

3

La mancanza di un'impronta digitale nella richiesta di file suggerisce che si sta eseguendo questo in fase di sviluppo. Immagino anche che questa sia un'app aggiornata da una versione precedente di Rails.

Tutte le immagini devono essere nella cartella/risorse/immagini affinché la pipeline funzioni.

Inoltre, non è necessario precompilare in modalità di sviluppo.

Eliminare la cartella public/assets, eliminare la cartella tmp/cache/assets e riavviare il server.

Se queste immagini sono nella posizione corretta, dovrebbe funzionare.

+1

Ho eseguito 'rake assets: precompile' e cancellato 'public/assets' ma non funziona. Tuttavia, l'eliminazione di 'tmp/cache/assets' è lavoro. Grazie. – Penguin