使用Rails 3的自动加载路径无法加载某些文件夹,但可以加载其他文件夹。

5

我正在使用application.rb中的autoload路径来加载一些额外的模块和结构。

以下代码实现这个功能:

config.autoload_paths += %W(
  #{config.root}/app/controllers/concerns 
  #{config.root}/app/models/concerns 
  #{config.root}/app/jobs/
)

有趣的是,扩展模型和控制器的“concerns”文件夹都能正常工作。

但是 jobs 文件夹根本没有被加载。

我需要做些什么特殊的操作才能加载 app 中的文件夹,或者有人知道为什么其中两个文件夹被加载而第三个文件夹没有被加载吗?


可能是尾随斜杠的问题。 - Luís Ramalho
哈哈,你说得对。把它放在答案里,我会给你打勾 :) - CafeHey
2个回答

7

尝试删除jobs后面的斜杠。

config.autoload_paths += %W(
  #{config.root}/app/controllers/concerns 
  #{config.root}/app/models/concerns 
  #{config.root}/app/jobs
)

0

我遇到了同样的问题,将一个新文件夹添加到应用程序下后,它并没有被添加到路径中,因此如果我尝试在我的 routes.rb 中使用其中的内容,它就无法正常工作。为了让它正常工作,我不得不使用 config.autoload_paths += Dir[Rails.root.join('app')] - Roland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接