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 に答える