試しconfig.autoload_paths += Dir["#{config.root}/lib/**/"]
てみましたが、エラーconfig.eager_load_paths += Dir["#{config.root}/lib/**/"]
が発生し続けます。uninitialized constant
これは、Rails 4 のデフォルトになっているように、dependency_loading
無効になっていることに関係していると思います。config.threadsafe!
では、/lib ディレクトリからの内容をeager/autoloadするための適切な方法とスレッドセーフな方法は何ですか?
更新: /lib 構造
lib/car.rb:
module Car
CAR_TYPES = %w[volvo saab]
end
lib/car/volvo.rb:
module Car
class Volvo
end
end
スローされるエラーはNameError (uninitialized constant Car::CAR_TYPES)
更新 2: rails c
:
Car.class
=> Module
Car::CAR_TYPES
=> NameError: uninitialized constant Car::CAR_TYPES
更新 3: 興味深いことに、Car::Volvo.new
動作しますが、Car::CAR_TYPES を参照することはできません。