Es ist wie dieses Problem sieht in Rails 4 gelöst werden: http://blog.plataformatec.com.br/2012/08/eager-loading-for-greater-good/ aber bis dahin, ich frage mich, wie man bestrebt, Lademodule/Klassen in meinem /lib
. Eager Laden von Schienen lib
In IRB scheint es, dass sie auf Abruf versuchen, das erste Mal geladen werden, ich Zugang:
Foo::Bar.constants
=> []
Foo::Bar::Service
=> Foo::Bar::Service
Foo::Bar.constants
=> [:ServiceBase, :Service]
ich in diesem Modul mehrere andere Klassen haben, und mein Code ist abhängig von der Lage, sie zu sehen mit Foo::Bar.const_defined?
zur Laufzeit - Wie stelle ich sicher, dass alle Klassen Foo::Bar
beim Start geladen werden?
Ich verwende bereits config.autoload_paths += %W(#{config.root}/lib)
in application.rb
.
Nicht 'load' a erfordern Dateiname? Ich habe es auf verschiedene Arten versucht, um das gesamte Verzeichnis zu laden, aber es scheint nicht zu funktionieren. 'LoadError: kann solche Datei nicht laden - foo' – devth
@devth, bitte versuchen, überarbeitete Antwort. – Mori
Das funktioniert. Vielen Dank. – devth