Dockerized Rails 5 RC1应用程序不能获取正在开发的控制器和模型的更新

我在Mac OS X + Docker Machine + Docker Compose上开发Rails 4应用程序的经验相当丰富,但Rails 5在开发环境(目前正在用RC1testing)中caching文件的方式发生了一些变化。

在用docker-compose up启动应用程序docker-compose up ,应用程序以开发模式正常运行。

但是,如果我对控制器或模型进行更改,那么我可以在应用程序中反映的唯一方法是停止服务器并将其启动。

所以现在当我需要对控制器或模型进行更改时,我的工作stream看起来像这样:

  1. 改变控制器/模型类。
  2. Ctrl + C停止服务器。
  3. docker-compose up启动服务器备份docker-compose up
  4. 等待服务器启动。
  5. 运行我在浏览器中运行的任何东西。

至less可以说,需要做2-4步是烦人的,而不是我习惯于Rails 4的。

我更进一步,并使用删除说明卸载Spring,但我仍然得到相同的行为。

我还search了在config/environments/development.rb可以find的有关Rails运行时对模型和控制器类的控制权的设置,但是我找不到任何东西。 (我假设它真的想要依靠观看文件系统来select性地加载更改,而不是从Mac到VirtualBox的更改中拾取某些东西。)

任何其他的想法,我可以尝试吗? 还是有什么新的设置有关如何更积极的caching工作?

我正在使用Rails 5 rc1。

Rails 5引入了对代码重新加载的一些“改进”,但它似乎不适用于OS X上的Docker。

所以在config/environments/development.rb ,我replace了

config.file_watcher = ActiveSupport::EventedFileUpdateChecker

config.file_watcher = ActiveSupport::FileUpdateChecker

对于ActiveSupport :: EventedFileUpdateChecker文件观察器来说,docker-machine共享文件不会发生更改事件