上比较诡异的图吧
它帮我们在本地开发的命令 (rails console, rails generate, rails runner) 做预加载动作,在我们初始打开终端运行这些命令的时候 spring 会在后台启动一个服务,当我们第二次运行这些命令时就不会重复加载 Rails.application.initializers,这样运行速度会快很多,你可以在你的项目目录运行bin/spring status
下查看状态,当我们改动 spring watcher 的一些文件时候 spring 服务会自动 reload.
所以上面这个问题是因为这个 spring 的版本 1.1.3 它没有对 secrets.yml 进行 watch 所以改动时 spring 不会重新 reload, 把 spring 的版本更新 1.2.0 就可以了。
还有在 rails c 运行Spring.watcher.send(:expanded_files)
查看 watcher 的文件列表,也可以手动加一些文件 watcher。
下次童鞋们遇见这坑就不会陌生了