2011-10-12 7 views
18

Quando avvio le rotaie in modalità produzione, precompila tutte le risorse ma non è in grado di servire la risorsa application.css. Ho cercato in public/assets e il file application.css precompilato esiste.CSS precompilato non trovato nella modalità di produzione Rails 3.1

Tuttavia, ottengo un 404 ogni volta che provo ad accedervi dalla pagina.

Queste sono le istruzioni che uso per avviare il server, se questo può essere di aiuto.

RAILS_ENV=production bundle exec rake assets:clean 
RAILS_ENV=production bundle exec rake assets:precompile 
rails -e production 
+0

Non uso Rails 3.1, ma non è la cartella 'assets' nella root della tua applicazione, non nella cartella' public'? Perdonami se questo è sbagliato. – bricker

+1

questo è sbagliato, è nella cartella 'public' –

risposta

34

Se si desidera Rails per servire i beni statici che avete aggiungere la seguente riga al production.rb:

config.serve_static_assets = true 

ho capito che è meglio per consentire Apache o nginx per servirli, ma questo funziona se si stiamo usando un server standalone (o almeno funziona sottile)

0

La prego di confermare che si dispone

<%= stylesheet_link_tag "application" %> 

nel segmento testa nel layout dell'applicazione invece di qualcosa come:

<link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" /> 

Questo assicura l'precompilata application-xxx. css sarà incluso.

+0

sì, ho lo stylesheet_link_tag –

+0

Dove si trova la tua appliation.css originale? È in /app/assets/stylesheets/application.css? Inoltre, che aspetto ha il codice html in termini di tag link del foglio di stile? Fa riferimento a application.css o all'applicazione precompilata-xxx.css? – emrass

+0

L'originale application.css è in/app/assets/stylesheets /. La sorgente html fa riferimento all'applicazione precompilata-xxx.css –

3

Quindi risulta che le rotaie non sono responsabili di servire le risorse statiche che precompila. È necessario configurare il server Web che si utilizza (ad es. Nginx) per fornire tali risorse statiche al posto delle rotaie. Vorrei che questo fosse molto più chiaro sui documenti.

+0

puoi fornire un link su come configurare il server per lo stesso? –