Ruby on rails 如何使lib/中的代码在文件更改时自动重新加载?
这是对此的后续行动。在开发过程中,每次在lib/中更改代码时,我都必须重新启动rails应用程序,以便代码更改生效。如何让这些代码像控制器、模型等一样自动重新加载?为什么不直接输入Ruby on rails 如何使lib/中的代码在文件更改时自动重新加载?,ruby-on-rails,Ruby On Rails,这是对此的后续行动。在开发过程中,每次在lib/中更改代码时,我都必须重新启动rails应用程序,以便代码更改生效。如何让这些代码像控制器、模型等一样自动重新加载?为什么不直接输入 load Rails.root + '/lib/your_lib.rb' 模块动作可重新加载 def自带(基本) ActiveSupport::Dependencies.explicitly_unloadable_constants对于Rails 3,将文章中给出的说明与@science的答案不同。在环境/deve
load Rails.root + '/lib/your_lib.rb'
模块动作可重新加载
def自带(基本)
ActiveSupport::Dependencies.explicitly_unloadable_constants对于Rails 3,将文章中给出的说明与@science的答案不同。在环境/development.rb
文件中,添加以下行:
ActiveSupport::Dependencies.autoload_paths << File::join( Rails.root, 'lib')
ActiveSupport::Dependencies.explicitly_unloadable_constants << 'MyModuleInLibFolder'
ActiveSupport::Dependencies.autoload\u路径如果您已经使用了前面的方法,但不起作用(如我的案例),请尝试在development.rb
中的config.reload\u classes\u only\u on\u change
这里是Rails 4.2✋ 可能重复的可能重复失败,除非我使用了join
:load Rails.root.join('lib/your_lib.rb')
@science的答案已被删除为仅链接的答案(该链接已经腐烂,值得一提)。
ActiveSupport::Dependencies.autoload_paths << File::join( Rails.root, 'lib')
ActiveSupport::Dependencies.explicitly_unloadable_constants << 'MyModuleInLibFolder'