Problem
Ich habe eine Rails 3.0.4 App, die ich auf 3.1.4 nach den Anweisungen von Railscast aufrüste Video: "Upgrade auf Schienen 3.1" .
Jetzt habe ich Probleme mit Assets , weil sie nicht aufgelöst wurden , sodass Nachrichten im Serverprotokoll wie folgt angezeigt werden:
%Vor% Diese Dateien befinden sich in assets
directory:
und enthält das:
%Vor%Ich nehme an, alles ist konfiguriert. Hier stelle ich einige Brocken von Dateien:
Gemfile
, enthält Assets, die benötigt werden:
application.rb
, hat Aktivierungen aktiviert:
development.rb
:
endlich ... application.html.erb
layout:
Bühne
Ich bin jetzt in Entwicklung Umgebung.
Tests
Wenn ich http://localhost:3000/assets/images/rails.png
anfordere, wird No route matches [GET] "/assets/images/rails.png"
ausgegeben, aber die Datei ist dort:
Dann führe ich rake assets:precompile
:
Führen Sie dann den Server ( rails s
) aus und fordern Sie erneut ein Bild an ( rails.png
):
Also Was ist los? Mache ich etwas falsch?
Soweit ich weiß, werden alle vorkompilierten Assets in den Assets-Ordner verschoben.
Das bedeutet, dass der Inhalt von Javascript, Stylesheets UND Bildern in localhost:3000/assets
kombiniert wird.
Also, wenn Sie suchen %Code% es sollte in gelegen sein %Code%. Dafür die 404.
Um Ihr Verzeichnis sauber zu halten, empfehle ich, alle Ihre Bilder in app / assets / images / zu behalten und mit localhost:3000/assets/images/rails.png
Tags und Links ruby-on-rails-3.1 asset-pipeline