我有一个自定义助手路径 lib/helpers,我通过在 application.rb 中添加以下内容来自动加载它:
config.autoload_paths += %W(classes helpers).map{|dir| "#{Rails.root}/lib/#{dir}"}
其中一个助手 VideoHelper 在其中一种方法中使用 FileHelper:
class VideoHelper
def my_method
FileHelper::my_method
end
end
在使用 rspec 测试 VideoHelper 的 my_method 时,对 FileHelper::my_method 的所有调用都失败了:
NameError:
uninitialized constant VideoHelper::FileHelper
如果我在 VideoHelper 类声明之前添加对 FileHelper 的调用,则测试成功:
FileHelper
class VideoHelper
def my_method
FileHelper::my_method
end
end
我是否必须在 VideoHelper 中要求 FileHelper,即使它已在 autoload_paths 中声明?