我正在 vagrant box 中的 nfs 共享文件夹上运行 Rails。当服务器(thin/webrick)运行时,我正在主机中编辑文件。但我必须不断停止并重新启动应用程序服务器才能看到 web 应用程序中反射(reflect)的更改。这是正常行为吗?
最佳答案
我在 Vagrant box 上解决了这个问题,将我的文件夹与 NFS 同步。
我对应用程序开发配置文件 (config/environments/development.rb
) 进行了更改,只需添加此行 config.reload_classes_only_on_change = false
即可运行。
确保您也有这个 config.cache_classes = false
,我在设置 Rails 应用程序时默认有它(使用版本 4.1.5),因为我在哪里找到了解决方法( http://edgeguides.rubyonrails.org/configuring.html )表示如果 config.cache_classes
为 true
config.reload_classes_only_on_chage = false
另一个解决方案是使用 vagrant Rsync 同步机制,它 is available from version 1.5 并且有一些好处,但对我来说它不起作用,因为如果我必须在我拥有的每个虚拟机上复制工作区,我就会用完空间.
关于ruby-on-rails - Vagrant 与 Rails 服务器共享文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17051076/