【问题标题】:Rails not refreshing codeRails 不刷新代码
【发布时间】:2010-11-11 20:18:43
【问题描述】:

在开发 Rails 应用程序时,我通常在编写代码时让开发服务器在本地(mongrel)运行。代码中的更改在快速刷新后生效。除了我一直在文件夹中的 Lib 中编写的类之外,更改尚未生效。这是否是一个已知问题?这可能是什么原因造成的?解决一个问题一段时间,没有任何解决方案有效,结果发现这些解决方案都没有机会发挥作用,这是非常令人沮丧的。

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails ruby class mongrel


    【解决方案1】:

    我发现 Rails 开发服务器(我使用 WEBrick)不会自动重新扫描某些文件夹以进行更改。 vendor/plugins 文件夹是我肯定知道的文件夹,但我似乎记得在修改 lib 文件夹中的内容时遇到了麻烦。

    基本上,每当我在应用程序之外修改某些内容时,我都会重新启动开发服务器。

    【讨论】:

    • 谢谢。除了每次都重新启动服务器之外,还有其他已知的解决方法吗?
    • 我没有注意到。在我看来,rails 开发服务器只监视应用程序文件夹以动态重新加载更改。也许您可以为 Mongrel 更改配置或其他内容,但我对 Mongrel 不熟悉。
    【解决方案2】:

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

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

    在开发环境中通过以下配置选项默认启用类重载功能

    config.cache_classes = false
    

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 1970-01-01
      • 2017-02-13
      • 2016-05-10
      • 2019-08-15
      • 1970-01-01
      • 2014-02-06
      • 2010-09-10
      • 1970-01-01
      相关资源
      最近更新 更多