我在lib/test/company.rb
中有以下代码:
module Test
class Company
# irrelevant stuff
end
end
在spec/model/request.rb
中,我尝试了以下所有内容:
require "company"
require "lib/test/company"
require "lib/test/company.rb"
require Rails.root + "/lib/test/company.rb"
这些都没有,在课堂上肯定没有自动加载。发生了什么事?
答案 0 :(得分:1)
在您的spec文件中:
require "test/company"
如果你想从lib自动加载所有模块/类,这是不必要的。为此,请添加到application.rb文件中的配置块:
module YourApp
class Application < Rails::Application
config.autoload_paths += %W( #{config.root}/lib )
end
end
增加:
然后,您可以从顶级命名空间调用Test::Company
来访问此类。
答案 1 :(得分:0)
尝试require "#{Rails.root}/lib/test/company
。