Ich habe ein Problem beim Zugriff auf Rails.root
von meinem Rails-Engine, die ich erstelle. Ich muss eine Yml Config-Datei von der Haupt-App holen.Rails.root vom Motor
Gibt es Best Practices für die Handhabung von Konfigurationen für Ihre Motoren?
Ich habe ein Problem beim Zugriff auf Rails.root
von meinem Rails-Engine, die ich erstelle. Ich muss eine Yml Config-Datei von der Haupt-App holen.Rails.root vom Motor
Gibt es Best Practices für die Handhabung von Konfigurationen für Ihre Motoren?
Nehmen wir an, Sie haben ein Modul-Attribut dafür.
# lib/my_engine.rb
module MyEngine
mattr_accessor :app_root
end
Dann können Sie es aus dem initialize Block wie so laden:
# lib/my_engine/engine.rb
module MyEngine
class Engine < Rails::Engine
initializer "my_engine.load_app_root" do |app|
MyEngine.app_root = app.root
end
end
end
Für mich musste es "Initialisierer" statt "initialisieren" .. (http://edgeapi.rubyonrails.org/classes/Rails/Engine.html) –
ja, Tippfehler. jetzt aktualisiert. Vielen Dank! – shime
Ausgezeichnete Antwort, danke! – newUserNameHere
Statt Rails.root
Gebrauch verwenden: MyEngine::Engine.root
; D
das hat nicht für mich funktioniert. –
@ dan-klasson wo versuchst du zuzugreifen? In der Haupt-App oder in der Engine selbst? –
In 'engine.rb'. –
hast du mit 'Rails.application.root' versuchen? – shime
Ja und das ist auch nichts. – sandelius