1

我在我的 Rails 应用程序中创建了一个非常简单的插件系统。这些插件可以在它们的子文件夹中带来它们自己的视图和控制器。

因此,在搜索控制器时,我希望 Rails 查看以下目录之一:

  • app/controllers
  • plugins/plugin1/controllers
  • plugins/plugin2/controllers

我将这些插件目录添加到我的 autoload_path 中application.rb,但这没有任何效果。

4

1 回答 1

0

事实证明,解决方案就像将目录添加到config.autoload_paths设置中一样简单。

每个新文件夹都可以config/application.rb像这样添加:

config.autoload_paths += Dir["#{config.root}/plugins/plugin1/controllers/**/"]

这实际上确保了文件夹及其所有子目录都是自动加载的。

(我之前无法完成这项工作,因为我的控制器有一个不存在的父类。出于某种原因,Rails 告诉我路由不存在,而不是显示该错误。)

于 2013-06-12T12:08:17.567 回答