Pregunta

Estoy haciendo cambios HAML/SASS para una aplicación Rails que estoy ejecutando localmente usando una máquina virtual Vagrant/VirtualBox en Mac OSX (Snow Leopard), y sigo encontrando un problema realmente extraño cada vez que hago cambios en una imagen a la que se hace referencia en cualquier de los archivos HAML/SASS.

He aquí un ejemplo de lo que sucede:

  • Abro una página de la aplicación Rails local en mi navegador y todas las imágenes se muestran correctamente
  • Cambio el tamaño de una imagen (usando Gimp) para hacerla más pequeña y guardar los cambios
  • Actualizo la página para ver los cambios y la imagen original todavía se muestra, pero con la parte inferior cortada en proporción a cuánto más pequeña hice la imagen
  • Elimino el archivo de imagen del directorio y actualizo la página para ver qué sucede.
  • A veces, la imagen recortada original sigue ahí, a veces desaparece y solo veo el icono de ruta de la imagen que falta.
  • Muevo el archivo de imagen nuevamente al directorio para intentar forzarlo a retomar el cambio de tamaño.
  • A veces esto funciona la primera vez, a veces tengo que hacerlo 3 o 4 veces antes de ver la imagen del tamaño correcto.
  • A veces veo reaparecer la antigua imagen cortada incluso después de haber actualizado la página y no ver ninguna imagen.

El mismo problema parece ocurrir si hago otros cambios en el archivo de imagen (p. ej.si estoy guardando una imagen completamente nueva con el mismo nombre de archivo).Aparte de este problema de imagen, todas las ediciones de archivos HAML/SASS funcionan y puedo ver mis cambios instantáneamente.

Pensé que podría ser algún tipo de problema de procesamiento/almacenamiento en caché del navegador, pero ocurren problemas similares en Firefox y Chrome.Si uso Firebug, a veces puedo ver que se selecciona el archivo correcto pero no se muestra en la página.

Sólo puedo pensar que esto tiene algo que ver con Vagrant.Lo único que garantiza solucionarlo por completo es volver a colocar la caja Vagrant, pero eso lleva mucho tiempo.

Me doy cuenta de que esto puede no ser un problema simple, ya que puede tener algo que ver con nuestra aplicación Rails y la configuración de Vagrant/VirtualBox, pero pensé en publicar el problema aquí en caso de que alguien más haya tenido problemas similares.

¡Gracias!

¿Fue útil?

Solución

Lo que probablemente estés viendo es un problema que tiene el sistema de archivos de carpetas compartidas de VirtualBox junto con el sendfile llamada al sistema.Necesitas desactivar el uso de sendfile en su servidor web si está sirviendo archivos desde una carpeta compartida de VirtualBox.Hacer esto es fácil:

En Apache, agregue esto a su configuración: EnableSendfile off

En Nginx, agrega esto a tu configuración: sendfile off;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top