Ich habe eine meiner Apps von Rails 4.2.6 auf Rails 5.0.0 aktualisiert. Im Upgrade-Handbuch heißt es, dass die Autoload-Funktion jetzt in der Produktion standardmäßig deaktiviert ist.
Jetzt wird auf meinem Produktionsserver immer eine Fehlermeldung angezeigt, da ich alle lib-Dateien mit Autoload in die application.rb
Datei lade .
module MyApp
class Application < Rails::Application
config.autoload_paths += %W( lib/ )
end
end
Im Moment habe ich das config.enable_dependency_loading
auf gesetzt , true
aber ich frage mich, ob es eine bessere Lösung dafür gibt. Es muss einen Grund geben, warum das automatische Laden in der Produktion standardmäßig deaktiviert ist.
lib
dir, eine Datei ist in Runtime leicht verfügbar, aber eine andere muss manuell benötigt werden: D
Validators
) in Ordnern direkt in der App / im Verzeichnis, da der Code dort automatisch geladen wird.
app/services/paylinx/paylinx_service.rb
: module Paylinx class PaylinxService end end
. Ich habe diese autoload_paths
Sachen ausprobiert . funktioniert bei mir nicht