【发布时间】:2011-01-08 22:10:44
【问题描述】:
我正在开发一个包含在我的 rails 应用程序中的 ruby 模块。我希望它在更改时自动重新加载。我进行了广泛的谷歌搜索,并查看了此处讨论它的各种问题,但它们似乎都已过时或错误。
当外部模块发生变化时,如何在 Rails 中重新加载外部模块?我尝试将其名称添加到ActiveSupport::Dependencies.unloadable_constants,但在控制台中键入reload! 后,即使我再输入一个require 'foo_module',我也无法在没有NameError: uninitialized constant foo 的情况下引用该符号。有谁知道如何让它工作?
注意:这里是one possible dup,但请注意在“答案”的 cmets 中它从未解决模块的问题。还有this question在答案中有死链接,最后this one也没有解决。
【问题讨论】:
-
为什么在应用程序代码更改时重新加载部分应用程序代码,而不是重新启动应用程序?用例是什么?
-
好点。这仅用于测试 - 重新启动服务器需要非常长的时间。在生产中这不适用。
标签: ruby-on-rails