Sto cercando di mettere la mia app in produzione e i percorsi delle risorse di immagine e CSS non funzionano.
Ecco cosa sto facendo attualmente:
- Le risorse immagine risiedono in /app/assets/images/image.jpg
- I fogli di stile sono disponibili in /app/assets/stylesheets/style.css
- Nel mio layout, faccio riferimento al file css in questo modo:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- Prima di riavviare Unicorn, corro
RAILS_ENV=production bundle exec rake assets:precompile
e riesce e vedo i file con le impronte digitali nellapublic/assets
directory.
Quando navigo nel mio sito, ricevo un errore 404 non trovato per mysite.com/stylesheets/styles.css
.
Che cosa sto facendo di sbagliato?
Aggiornamento: nel mio layout, assomiglia a questo:
<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
La sorgente di generazione è questa:
<link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/stylesheets/styles.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-0c647c942c6eff10ad92f1f2b0c64efe.js"></script>
Sembra che Rails non stia cercando correttamente i file css compilati. Ma è molto confuso il motivo per cui funziona correttamente per i javascript (notare il /assets/****.js
percorso).
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assets
e 2. ricontrolla se non c'è un'altra istruzione da qualche parte che cerca di caricare quel file css (presumibilmente hard-coded)
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
può effettivamente essere sostituito in sprocket con .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }
. Forse puoi provare se questo aiuta.
stylesheet_link_tag
.