0

我有以下代码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"

这些都不起作用,在课堂上肯定不会自动加载。这是怎么回事?

4

2 回答 2

1

在您的规范文件中:

require "test/company"

如果您想从 lib 中自动加载所有模块/类,这是不必要的。为此,请添加到 application.rb 文件中的配置块:

module YourApp
  class Application < Rails::Application

    config.autoload_paths += %W( #{config.root}/lib )

  end
end

添加:

然后,您可以Test::Company从顶级命名空间调用来访问此类。

于 2012-10-02T23:27:03.507 回答
0

试试require "#{Rails.root}/lib/test/company

于 2012-10-02T23:44:50.187 回答