为什么Rails在托管在VM和Samba共享上的代码库时缓存视图文件

我有以下设置:

  • 我的本地计算机(OS X)上的代码作为Samba共享共享
  • 在Parallels中运行的Ubuntu VM安装共享

在开发模式下运行Rails 2.1(通过Mongrel,WEBrick或乘客),如果我对我的视图进行更改,他们不会更新,而不必我踢服务器。 我尝试过切换到NFS共享,但我遇到了同样的问题。 我认为这是某种Samba缓存问题,但autotest会立即获取文件的更改。

注意:

  • 这不是渲染缓存或模板缓存,并且在开发配置中未定义config.action_view.cache_template_loading。
  • 检查代码库直接到VM不会显示相同的问题(但我不想这样做)
  • 直接在VM上编辑视图文件无法解决此问题。
  • 更改后触摸视图文件会导致更改出现在浏览器中。
  • 我还注意到VM中的时钟快一小时,将其更改为正确的时间没有任何区别。

在onLinux上开发时我遇到了完全相同的问题。 我和theLinux的时钟比主机Windows提前了大约三个小时,设置正确的时间(实际上,大约一分钟左右)已经解决了这个问题。

实际上,在VM中设置正确的日期和时间似乎已经解决了问题(在我重新启动mongrel之后) – 要进行更多的挖掘。