質問

Mac OSX(Snow Leopard)上のVagrant / VirtualBox VMを使用してローカルで実行しているRailsアプリのHAML / SASSの変更を行い、イメージに変更を加えるたびに本当に奇妙な問題に出会い続けていますHAML / SASSファイルのいずれかで参照されます。

これは何が起こるのかの例です:

  • 私のブラウザでローカルRailsアプリケーションページを開き、すべての画像が正しく表示されています
  • 私はそれを小さくして変更を保存するための画像を(GIMPを使って)再びサイズを再サイズに再サイズ変更します。
  • 私は変更を確認するためにページを更新し、元の画像はまだ表示されていますが、底部は を作った量に比例してカットオフします。
  • 私はディレクトリから画像ファイルを削除し、何が起こるかを確認するためにページを更新してください。
  • オリジナルのカットオフ画像がまだそこにあることがありますが、時には消えていて、欠けているイメージパスアイコンを見てください
  • イメージファイルをディレクトリに戻して、再設定を拾うように強制的に移動します。
  • 時々これは初めて作業し、正しいサイズの画像を見る前に3度または4回行わなければならない
  • ページを更新した後も古いカットオフ画像が再表示されることがあります。

    私がイメージファイルに他の変更を加える場合(たとえば、同じファイル名で完全に新しい画像を保存している場合)、同じ問題が発生しているようです。このイメージの問題とは別に、すべての編集がHAML / SASSファイルに機能します。そして、私は瞬時に私の変更を見ることができます。

    私はそれがある種のブラウザのレンダリング/キャッシングの問題であるかもしれないと思いましたが、FirefoxとChromeでも同様の問題が発生します。 Firebugを使用すると、正しいファイルがピックアップされていることがわかりますが、ページ自体に表示されていません。

    私はこれがヴァグラントと関係があると考えることができるだけです。それを完全に修正することが保証されている唯一のことは、vagrantボックスを制限していますが、それは長い時間がかかります。

    私たちのRailsアプリとVagrant / Virtualboxの構成と関係があるかもしれないので、これは簡単な問題ではないかもしれないことを認識していますが、私は他の誰かが似ていた場合に問題をここに投稿すると思った問題。

    ありがとう!

役に立ちましたか?

解決

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;

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top