Asset-Pipeline von sass-rails: Generieren von Bildpfaden falsch; "url (/images/blah.png)" anstelle von "url (/assets/blah.png)"

ImAbschnitt 2.2.2, "CSS und Sass", Ich soll setzenimage-url('delete.png') in meinem sass. Und das habe ich auch.

Es generiert jedoch CSS wie

background-image: url(/images/delete.png)

anstelle der Sache, die mir überall gesagt wird, sollte sie das Richtige und Offensichtliche erzeugen,

background-image: url(/assets/delete.png)

Was. Zum Teufel.

Ich habe buchstäblich Tage damit verbracht herauszufinden, woher das kommt.

Hier isteine Zusammenstellung relevanter Einstellungen Das führt zu diesem Verhalten. Hier istEine Zusammenfassung derselben Dateien in einer früheren Version unserer Codebasis (gleich nachdem wir die Asset-Pipeline implementiert hatten und sie tatsächlich eine Woche lang funktionierte, bevor dieses frustrierende Verhalten auftauchte). Kannst du die Unterschiede erkennen? Können Sie sich vorstellen, dass andere Dateien dies verursachen könnten?

HinweisWir verwenden absichtlich eine ältere Version vonsass-rails weil eine neuere version dafür sorgteStack level too deep! Fehler beim Vorkompilieren.Wir benutzen Compass.Zwei hackische Versuche zur Umgehung des Problems

Denn die eigentliche Fehlerbehebung in der Asset-Pipeline ist zum Kotzen.

1: Bilder in / images einfügen

Ich habe versucht, einfach alle Bilder zu verschiebenpublic/images und füge das als Ladepfad hinzu. Dies funktionierte in Dev (Bilder sind entweder zugänglich/assets oder/images), aber die Vorkompilierung für die Produktion legt die Fingerabdrücke in/assets nur (obvs), also wenn sass-bars reinsteckturl(/imagse/delete-120398471029384102364.png)kann nicht gefunden werden.

2: Machen Sie / public / images zu einem Symlink zu / public / assets

Dies würde wahrscheinlich in der Produktion funktionieren, aber in der Entwicklung gibt es den Ordner / assets nichturl(/images/delete.png) Direktiven führen zu nicht gefundenen Bildern.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage