自动重新加载导轨模块

Pet*_*ter 3 ruby-on-rails

我正在开发一个我在rails应用程序中包含的ruby模块.我希望它在更改时自动重新加载.我做了大量的谷歌搜索,并查看了讨论它的各种问题,但它们似乎都过时或错误.

如何更改外部模块在rails中重新加载?我已经尝试过添加它的名字了ActiveSupport::Dependencies.unloadable_constants,但是在我输入reload!控制台后NameError: uninitialized constant foo,即使我做了另一个,我也不能在没有a的情况下引用该符号require 'foo_module'.有谁知道如何使这个工作?

注意:这里有一个可能的dup,但是在"回答"的注释中注意它从未解决过模块的问题.还有这个问题在答案中有一个死链接,最后这个问题也解决了.

Pet*_*ter 5

我发现了如何做到这一点:

  1. 确保FooModulelib/foo_module.rb.
  2. 使用require_dependency需要在你的外部库lib/foo_module.rb.

这些步骤都是必需的,不需要其他步骤.