Ich versuche, Rails.root in meinem application.rb zu referenzieren, aber es ist nil, warum ist das?Warum ist meine Rails.root nicht?
Antwort
Verwenden Sie Rails 3.x? Wenn nicht, sollten Sie RAILS_ROOT
statt Rails.root
verwenden.
Sogar 'RAILS_ROOT' ist' nil' in 'application.rb' –
Ich hatte das gleiche Problem, wenn ich versuchte, es vor der Modul- und Klassendeklaration zu verwenden. Versuchen Sie es im Inneren zu benutzen und sehen Sie, ob das einen Unterschied macht, z.
module MyApp
class Application < Rails::Application
puts Rails.root
end
end
Ich kann erklären, warum, aber ich kann Ihnen keine Umgehungslösung geben.
Rails.root
definiert in rails/railties/lib/rails.rb
def root
application && application.config.root
end
In application.rb
, wird die Instanz von application
noch nicht erstellt, weil die Application
Klasse definiert wird ... Die Anwendung erst nach initialisiert wird, in environment.rb
:
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
Testapp::Application.initialize!
EDIT
Die Abhilfe ist direkt vor unseren Augen:
my_rails_root = File.expand_path('../..', __FILE__)
- 1. Rails.root vom Motor
- 2. Warum ist meine URI nicht hierarchisch?
- 3. Warum ist meine Instanzvariable nicht in __dict__?
- 4. Warum ist meine BeginInvoke-Methode nicht asynchron?
- 5. Warum ist meine MKPointAnnotation nicht benutzerdefiniert?
- 6. Warum ist meine Filterausgabe nicht genau?
- 7. Warum ist meine Klasse nicht CLS-konform?
- 8. Warum ist nicht meine Ausnahme gefangen
- 9. Warum ist meine `unmodiableList` änderbar?
- 10. Warum meine Glockenkurve flach ist
- 11. Warum ist mein Objekt nicht privat, wenn meine Variable ist?
- 12. Warum sortiert meine TreeMap nicht?
- 13. Warum funktioniert meine UIButton.tintColor nicht?
- 14. Warum funktioniert meine Benutzeranmeldelogik nicht?
- 15. Warum funktioniert meine SSI nicht?
- 16. Warum erscheint meine AVCaptureVideoPreviewLayer nicht?
- 17. Warum nicht meine .tfignore Datei
- 18. Warum funktioniert meine Stage.close nicht
- 19. Warum funktioniert meine TimeSpan.Add() nicht?
- 20. Warum funktionieren meine Lambdas nicht?
- 21. Warum erscheinen meine Blogs nicht?
- 22. Warum funktioniert meine Sitzungsvariable nicht?
- 23. Warum meine Schleife nicht läuft
- 24. Warum funktioniert meine Scroll nicht?
- 25. Warum funktioniert meine Sichtbarkeitsbindung nicht?
- 26. Warum funktioniert meine HTACCESS nicht?
- 27. Warum funktionieren meine Tags nicht?
- 28. Warum funktioniert meine Primzahlfunktion nicht?
- 29. Warum funktioniert meine Abfrage nicht?
- 30. Warum funktionieren meine Schlüsselereignisse nicht?
Hat Rails bereits booten? – Reactormonk
ja, es lädt gut, aber wenn es Null zurückgibt, auch in der Rails-Konsole. – Blankman
@Blankman: das ist eine Frage, die Sie akzeptieren könnten. –