VM 上でホストされ、コードベースが Samba 共有上にある場合、Rails がビュー ファイルをキャッシュするのはなぜですか

StackOverflow https://stackoverflow.com/questions/87802

  •  01-07-2019
  •  | 
  •  

質問

次の設定があります。

  • Samba 共有として共有されたローカル マシン (OS X) 上のコード
  • Parallels 内で実行されている Ubuntu VM が共有をマウントします

Rails 2.1 (Mongrel、WEBrick、またはパッセンジャー経由) を開発モードで実行しているときに、ビューに変更を加えた場合、サーバーをキックしないとビューが更新されません。代わりに NFS 共有に切り替えてみましたが、同じ問題が発生します。ある種の Samba キャッシュの問題だと思いますが、自動テストはファイルへの変更を即座に検出します。

注記:

  • これはレンダリング キャッシュやテンプレート キャッシュではなく、config.action_view.cache_template_loading は開発構成で定義されていません。
  • コードベースを VM に直接チェックアウトしても、同じ問題は表示されません (ただし、これは実行したくないです)。
  • VM 上でビュー ファイルを直接編集しても、この問題は解決されません。
  • 変更後にビュー ファイルをタッチすると、変更がブラウザに表示されます。
  • また、VM の時計が 1 時間早いことにも気づきましたが、それを正しい時間に変更しても違いはありませんでした。
役に立ちましたか?

解決

andLinux で開発中にまったく同じ問題が発生しました。私の andLinux の時計はホスト Windows よりも約 3 時間進んでおり、正しい時刻 (実際には 1 分ほど遅れています) を設定することで問題は解決しました。

他のヒント

実際、VM で正しい日付と時刻を設定すると、問題は解決したようです (mongrel を再起動した後)。もう少し詳しく調べてみます。

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