config/environment.rb
ist eine Datei, zu der das Rails-Framework selbst Meinungen hat. Während der Laufzeit Ihrer Anwendung werden Sie positiv dazu neigen, diese Datei nicht zu ändern (wenn Sie es vermeiden können). Dies ermöglicht den einfachsten möglichen Upgrade-Pfad. Erwägen Sie, Ihre Initialisierung in eine Datei in config/initializers
zu platzieren.
Wenn Ihr Code das Verhalten von Rails so grundlegend ändert, dass die Platzierung in config/initializers
seine Potenz verliert oder wenn die langfristige Wartung Ihres Codes keine Rolle spielt, werde ich das Obige berücksichtigen. Items 2 + 3 funktionieren, indem Sie an Ihre LOAD_PATH
anhängen, was ich nicht empfehlen würde, geschweige denn, eine Best Practice zu nennen. (Hinzufügen von RAILS_ROOT/config
ist möglicherweise kein großes Problem, aber Sie könnten einige sehr schwierig zu Debug-Fehler erstellen.)
Die Position von config/environment.rb
hat sich seit langer Zeit nicht geändert, so relative Anforderung (dh Option # 1) ist wahrscheinlich in Ordnung. require File.dirname(__FILE__)
selbst tut nichts (Sie benötigen ein Verzeichnis), aber es lohnt sich, in einem Ansatz wie require File.join[File.dirname(__FILE__), '../lib/your_file.rb']
zu erinnern, die unabhängig von Ladepfad oder Arbeitsverzeichnis Bedenken funktioniert. Das würde ich tun.
Ich würde keinen Edelstein dafür verwenden, da sich das Verhalten des Edelsteins auf unvorhersehbare Weise ändern könnte, und Sie bereits in einem Bereich sind, in dem Rails Ihre Wahl ungünstig machen kann.