我最近开始每次更改代码时都必须重新启动开发服务器。我的 development.rb 文件仍然有这一行:
config.cache_classes = false
我尝试使用调试器验证该值是否存在。为此,我将配置设置为 environment.rb 中的全局变量:
$my_initializer = Rails::Initializer.run 做 |config| ... 结尾
然后我debugger
在我的一个控制器中放了一条线,这样我就可以这样做:
(rdb:2) $my_initializer.configuration.cache_classes 错误的
这样就消除了将值cache_classes
设置为true
其他位置的可能性。我试过同时使用 Mongrel 和 WEBrick,但它仍然会发生。
还有什么可能导致 Rails 没有在每个请求中重新加载我的代码?
我正在运行: Mongrel 1.1.5
WEBrick 1.3.1
Rails 2.3.8
Ruby 1.8.7 p253
编辑:在@Daemin 的建议下,当我将文件保存在我的文本编辑器(Textmate)中时,我检查了文件的 mtime 实际上正在更新
merced:controllers lance$ ls -l people_controller.rb -rwxr-xr-x 1 枪手 2153 Act 10 18:01 people_controller.rb
然后我进行了更改并保存了文件:
merced:controllers lance$ ls -l people_controller.rb -rwxr-xr-x@ 1 lance 员工 2163 Oct 11 12:03 people_controller.rb
所以这不是mtimes的问题。