Domanda

Sto facendo HAML/SASS modifiche per una applicazione Rails che sono in esecuzione in locale utilizzando un Vagabondo/VM VirtualBox su Mac OSX (Snow Leopard), e continuo a incontrare davvero strano problema ogni volta che faccio modifiche a un'immagine di riferimento in qualsiasi HAML/i file SASS.

Ecco un esempio di quello che accade:

  • Ho aperto un locale Rails pagina nel mio browser e tutte le immagini vengono visualizzate correttamente
  • Ho ri-dimensioni di un'immagine (utilizzando Gimp) per renderlo più piccolo e salvare le modifiche
  • Io ad aggiornare la pagina per vedere le modifiche e l'immagine originale è ancora visibile, ma con il fondo tagliato in proporzione a quanto più piccolo ho fatto l'immagine
  • Per rimuovere i file di immagine dalla directory e aggiornare la pagina per vedere cosa succede.
  • A volte l'originale di cut-off immagine è ancora lì, a volte scompare e vedo l'immagine mancante percorso icona
  • Spostare il file immagine torna nella directory di provare a forzare per raccogliere il ridimensionamento
  • A volte questo funziona prima volta, a volte devo farlo 3 o 4 volte prima di vedere la corretta immagine di dimensioni
  • A volte vedo il vecchio tagliato immagine ri-comparire anche dopo che ho aggiornato la pagina e visto nessuna immagine!!!

Lo stesso problema sembra verificarsi se sto facendo altre modifiche al file di immagine (ad es.se sto risparmiando una nuova immagine con lo stesso nome del file).A parte questo problema di immagine, tutte le modifiche HAML/SASS file di lavoro, e posso istantaneamente vedere le mie modifiche.

Ho pensato che potrebbe essere una sorta di rendering del browser/cache problema, ma problemi simili si verificano in Firefox e Chrome.Se io uso Firebug mi è possibile a volte vedere che il file corretto è di essere preso, ma non mostra nella pagina stessa.

Posso solo pensare che questo ha qualcosa a che fare con Vagabondo.L'unica cosa che è garantita per risolvere tutto è restrating il Vagabondo box, ma che richiede molto tempo.

Mi rendo conto che questo non può essere un semplice problema, in quanto potrebbe avere qualcosa a che fare con la nostra applicazione Rails e configurazione di Vagrant/VirtualBox, ma io ho pensato di postare il problema qui, nel caso qualcuno altro ha avuto problemi simili.

Grazie!

È stato utile?

Soluzione

Quello che probabilmente stai vedendo è un problema di VirtualBox cartella condivisa filesystem ha con il sendfile syscall.È necessario disattivare l'utilizzo di sendfile sul tuo webserver se si sta servendo di file da un VirtualBox cartella condivisa.Per fare questo è facile:

In Apache, aggiungere questo alla tua configurazione: EnableSendfile off

In Nginx, aggiungere questo alla tua configurazione: sendfile off;

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top