In modalità di produzione, le rotaie non sembrano trovare risorse precompilate dalla pipeline delle risorse.Perché le rotaie non troveranno le mie risorse?
Sto usando rails 3.2.0 e ruby 1.9.3 in esecuzione su RVM su CentOS. Nessun server web aggiuntivo è in esecuzione insieme a questa applicazione. L'applicazione è stata aggiornata di recente solo per utilizzare la pipeline degli asset, poiché originariamente era un'app per le rails 3.0.
Dopo aver eseguito
rake assets:clean
rake assets:precompile
vedo il contenuto hash in/beni pubblici, come mi sarei aspettato. Gli hash alla fine dei file corrispondono a quelli che vedo nel sorgente della pagina.
Eppure in fase di esecuzione, ecco quello che vedo ogni Rails attivi tenta di servire:
Started GET "/assets/application-892c6227e631daf9a8e041b1d4d002ec.css" for 75.149.58.169 at 2012-03-14 11:42:43 -0700
ActionController::RoutingError (No route matches [GET] "/assets/application-892c6227e631daf9a8e041b1d4d002ec.css"):
non mi riferisco alla cartella in cui ogni risorsa è ospitato in; tutti i riferimenti al patrimonio assomigliano questi:
//css:
.class {
background: url(asset.png) no-repeat;
}
//erb:
<%= image_tag "asset.png" %>
<%= link_to "page", :class => "class" %>
Asset conduttura impostazioni pertinenti in production.rb:
config.serve_static_assets = false
config.assets.enabled = true
config.assets.compress = true
config.assets.debug = false
config.assets.compile = false
config.assets.digest = true
E, infine, le impostazioni delle attività finanziarie di config/application.rb:
config.assets.enabled = true
config.assets.version = '1.0'
L'utente che avvia il processo del server di rotaie ha autorizzazioni di lettura, scrittura ed esecuzione su pubblico/risorse, quindi non penso che sia un problema di autorizzazioni. Ho perso una fase di configurazione?
Modifica
ho notato che non ci siano errori affermando che i beni non vengono precompilati, così ho cercato di accedere a un foglio di stile dalla pagina web aggiungendo "/assets/application-892c6227e631daf9a8e041b1d4d002ec.css" al fine del percorso host:
http://www.myapp.com"/assets/application-892c6227e631daf9a8e041b1d4d002ec.css"
Questo ha funzionato e il foglio di stile aperto.
Correlato/duplicato: http://stackoverflow.com/questions/5760661/rails-favicon-ico-not-found –