Ich kann nicht verstehen, warum meine CSS-Datei Digests für meine Assets nicht mit der Hilfsmethode image_url
Meine Assets sind korrekt vorausgefüllt, und Dateien enthalten den Digest. Ich kann sie auch (mit der verdauten URL) manuell aufrufen. Und das Merkwürdigste ist, dass es am Anfang funktionierte.
Hier ist meine Konfiguration:
%Vor%hier ist meine Bewerbung.css: * = require_tree.
Hier ist die Datei common.scss, die für die Aufnahme eines Bildes verwendet wird:
%Vor%Die Bilder sowie die Stylesheets befinden sich in einem Unterordner innerhalb von Assets / Images und Assets / Stylesheets.
hier meine Edelsteine:
%Vor%Ich arbeite mit capistrano, aber ich denke nicht, dass dies ein Problem ist, das mit capistrano zusammenhängt. Die Assets sind gut zusammengestellt.
BEARBEITEN Was ich bisher (erfolglos) versucht habe:
%Vor%Problem bleibt bestehen: Assets werden kompiliert, aber ohne Digest angefordert.
BEARBEITEN
Nach dieser Frage Rails 4 image-path, image-url und asset-url funktionieren nicht mehr in SCSS-Dateien Ich habe meine Assets verschoben und die Kombination von Asset-URL und setzen meine Vermögenswerte in / Öffentlichen Ordner, Hintergrundbilder funktionieren, obwohl das Problem weiterhin besteht, da die Anwendung nicht die Timestamped-Version der Bilder verwendet. Also nur eine (nicht so gute, noch so schlechte) Abhilfe.
Sollte asset_path
verwenden. Außerdem muss es unter dem ERB-Tag ausgeführt werden, da SCSS Asset-Pfad nicht kompiliert. Benennen Sie common.scss
in common.scss.erb
Lesen Sie mehr hier .
Einige Dinge zu beachten:
group: :production
oder etwas. Dies ist die neue Norm für Schienenfahrzeuge rake assets:clobber
aus und entfernen Sie den Ordner tmp
, der den Sass-Cache enthält RAILS_ENV=production rake assets:precompile
manuell in der Produktionsumgebung aus und teilen Sie uns die Liste der unter public rake assets:precompile
im Entwicklungsmodus aus, es könnte mehr Protokolle bereitstellen ändern Sie Ihre Einstellung von diesem
%Vor%bis
%Vor% Grund: Sie erlauben jetzt, dass Ihre Assets in Ihrer App aufgerufen / geschaltet werden. Früher waren Sie es nicht, es wird derzeit direkt von Ihrem Server bedient, d. H.% Co_de% oder apache
.
Ich glaube nicht, wie das möglich ist
%Vor% Es sollte ngnix
anstelle von assets
enthalten. Wenn dies der Fall ist, gibt es neben der Anlagenpipeline noch etwas anderes.
Seit dem letzten Mal, als meine Frage nicht hilfreich war, dachte ich mir, dass ich dir die funktionierende App zeigen würde. Ich habe die Heroku-App erstellt (der Code hostet auf GitHub). Sie können alle Commits überprüfen. es ist speziell für diese Frage gemacht. Die endgültige Lösung ist das.
Endgültige Fassung: Ссылка
Heroku-URL: Ссылка
Github-Code: Ссылка
Github verpflichtet: Ссылка
Wenn das immer noch nicht funktioniert, sehen Sie sich
anIch benutze dies und seine Arbeit für mich. Verwenden Sie Datei mit diesem Format common.css.scss
%Vor%Ich habe das gleiche Problem hier, ich habe es durch Base 64 behoben, die Bilder mit
zu inliningAsset-Daten-URL ("images / image.jpg")
Tags und Links ruby-on-rails asset-pipeline ruby-on-rails-4