Ich versuche, meine App in Produktion zu bringen, und Image- und CSS-Asset-Pfade funktionieren nicht.
Folgendes mache ich gerade:
- Bildelemente befinden sich in /app/assets/images/image.jpg
- Stylesheets befinden sich in /app/assets/stylesheets/style.css
- In meinem Layout verweise ich wie folgt auf die CSS-Datei:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- Vor dem Neustart von unicorn starte ich
RAILS_ENV=production bundle exec rake assets:precompile
und es ist erfolgreich und ich sehe die Fingerabdruckdateien impublic/assets
Verzeichnis.
Wenn ich zu meiner Website navigiere, wird der Fehler 404 nicht gefunden für angezeigt mysite.com/stylesheets/styles.css
.
Was mache ich falsch?
Update: In meinem Layout sieht es so aus:
<%= 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 %>
Die generierte Quelle ist folgende:
<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>
Anscheinend sucht Rails nicht richtig nach den kompilierten CSS-Dateien. Aber es ist sehr verwirrend, warum es für Javascripts richtig funktioniert (beachten Sie den /assets/****.js
Pfad).
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assets
und 2. Überprüfen Sie noch einmal, ob irgendwo eine andere Anweisung versucht, diese CSS-Datei zu laden (vermutlich fest codiert)
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
Kann tatsächlich im Kettenrad mit ersetzt werden .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }
. Vielleicht können Sie versuchen, ob dies hilft.
stylesheet_link_tag
.