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

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

  •  01-07-2019
  •  | 
  •  

我有以下设置:

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

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

笔记:

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

解决方案

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top