如何在Rails 4应用程序中避免require relative?

时间:2016-03-17 02:28:59

标签: ruby-on-rails ruby-on-rails-4 rspec

如何避免在Rails 4.2.5 app中调用我的rspec模型测试?

我在application.rb

中有config.autoload_paths << Rails.root.join('lib')

然而,在我的rspec模型测试(spec / models / other_test_spec.rb)中没有使用require_relative,我似乎无法加载FileService类:

require_relative '../../lib/adapter/file_service'

1 个答案:

答案 0 :(得分:1)

这是因为您已将lib添加到自动加载路径,而不是lib / adapter。在查找FileService类时,rails将仅扫描自动加载文件夹而不查看自动加载子文件夹。子文件夹用于在命名模块中作用域的常量。 解决方案 - 将您的类重命名为Adapter :: FileService。如果这已经太多了,您可能还想将lib / adapter添加到自动加载路径中。