Rails没有刷新代码

时间:2009-07-17 20:33:57

标签: ruby-on-rails ruby class mongrel

在开发Rails应用程序时,我通常会在处理代码时让dev服务器在本地运行(mongrel)。快速刷新后,代码中的更改会生效。除了我在Lib文件夹中写的一个类之外,更改没有生效。这在任何方面都是已知的问题吗?可能是什么导致了这个?在一段时间内处理问题是非常令人沮丧的,没有解决方案可行,只是发现这些解决方案都没有机会工作。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我发现Rails开发服务器(我使用WEBrick)有一些文件夹不会自动重新扫描更改。 vendor / plugins文件夹是我所知道的那个,但我好像记得在修改lib文件夹中的东西时遇到了麻烦。

基本上,每当我修改app之外的东西时,我都会重启dev服务器。

答案 1 :(得分:0)

在PHP应用程序代码中,每次请求都会重新加载代码,这就是为什么你需要像APC这样的东西来加快速度。 Rails有一个不同的模型,应用程序启动一次,可以处理多个请求。

Rails中有一个特殊功能可以重新加载已更改的文件,但它仅限于几个目录。此外,它不会处理启动期间调用的代码更改(如environment.rb或plugins)。在这种情况下,您必须重新启动服务器。

默认情况下,通过以下配置选项

在开发环境中启用类重新加载功能
config.cache_classes = false