我在Rails应用程序中创建了一个非常简单的插件系统。这些插件可以在其子文件夹中带来自己的视图和控制器。
因此,在搜索控制器时,我希望Rails查看其中一个目录:
app/controllers
plugins/plugin1/controllers
plugins/plugin2/controllers
我将这些插件目录添加到application.rb
中的autoload_path,但这没有效果。
答案 0 :(得分:0)
事实证明,解决方案就像将目录添加到config.autoload_paths
设置一样简单。
每个新文件夹都可以添加到config/application.rb
中,如下所示:
config.autoload_paths += Dir["#{config.root}/plugins/plugin1/controllers/**/"]
这实际上确保文件夹及其所有子目录都是自动加载的。
(之前我无法完成这项工作,因为我的控制器有一个不存在的父类。出于某种原因,Rails告诉我路线不存在而不是显示错误。)