Frage

Ich mache HAML / SASS-Änderungen für eine Rails-App, die ich lokal mit einer Vagrant / Virtualbox VM auf dem Mac OSX (Snow Leopard) leite, und ich stoße immer wieder ein wirklich seltsames Problem, wenn ich Änderungen an einem Bild vornehme verwiesen in einem der HAML / SASS-Dateien.

Hier ist ein Beispiel für das, was passiert:

    .
  • Ich öffne eine lokale Rails-App-Seite in meinem Browser und alle Bilder werden ordnungsgemäß angezeigt
  • Ich habe ein Bild erneut Größe (mit GIMP), um es zu kleineren und Änderungen zu speichern
  • Ich aktualisieren Sie die Seite, um die Änderungen anzuzeigen, und das Originalbild ist immer noch angezeigt, aber mit dem unteren Schnitt, aber im Verhältnis zu, wie viel kleiner ich das Bild habe
  • Ich entferne die Bilddatei aus dem Verzeichnis und harte, um die Seite zu aktualisieren, um zu sehen, was passiert.
  • Manchmal ist das ursprüngliche Abschaltbild immer noch da, manchmal verschwindet es, und ich sehe nur das fehlende Bildpfad-Symbol
  • Ich verschiebe die Bilddatei wieder in das Verzeichnis, um es auszuprobieren, um es zu zwingen, das Wiederzettel wieder aufzunehmen
  • Manchmal funktioniert dies das erste Mal, manchmal muss ich es 3 oder 4 Mal tun, bevor ich das richtig große Image sehe
  • Manchmal sehe ich, dass das alte Abschneiden von Bild wieder aufscheint, selbst wenn ich die Seite erfrischt habe und kein Bild gesehen hat!

    Das gleiche Problem scheint, wenn ich andere Änderungen an der Bilddatei (z. B. wenn ich ein völlig neues Bild mit demselben Dateinamen speichere, ein völlig neues Bild spare. Abgesehen von diesem Bild funktionieren alle Änderungen an Haml / Sass-Dateien, und ich kann sofort meine Änderungen sehen.

    Ich dachte, es könnte eine Art Browser-Rendering / Caching-Problem sein, aber ähnliche Probleme treten in Firefox und Chrome auf. Wenn ich Firebug verwende, kann ich manchmal sehen, dass die richtige Datei abgeholt wird, aber in der Seite selbst nicht angezeigt wird.

    Ich kann nur denken, dass dies etwas mit Vagrant zu tun hat. Das einzige, was garantiert, dass es garantiert fixiert wird, ist, die Vagrant-Box zu beheben, aber das dauert lange.

    Ich erkennen, dass dies kein einfaches Problem ist, da es möglicherweise etwas mit unserer Rails-App und der Konfiguration von Vagrant / Virtualbox zu tun hat, aber ich dachte nur, würde ich das Problem hier posten, falls jemand anderes ähnlich war Probleme.

    danke!

War es hilfreich?

Lösung

What you're probably seeing is an issue that the VirtualBox shared folder filesystem has along with the sendfile syscall. You need to disable the use of sendfile on your webserver if you're serving files from a VirtualBox shared folder. Doing this is easy:

In Apache, add this to your configuration: EnableSendfile off

In Nginx, add this to your configuration: sendfile off;

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top