Ich muss innerhalb eines Layouts einer montierbaren Engine wissen, auf welchem Pfad es gerade montiert ist. Was wäre der Weg, es zu tun?
z. Meine routes.rb enthält die folgende Zeile:
%Vor%Von innerhalb des BackendCore brauche ich den Zugriff auf den Wert von "/ backend".
Wenn die Engine :as =>
einen anderen Namen hat, ist die Abfrage von named_routes
nicht ausreichend. Dieser Affen-Patch wird tun:
Rufen Sie jetzt mounted_path
in der Suchmaschine auf:
Hinweis: Vorsicht: Im Produktionsmodus werden die Klassen in Ihrer Engine ausgewertet, bevor die Routen der Haupt-App geladen werden. Der Aufruf dieser Methode in Klassenmakros funktioniert möglicherweise nicht!
Die Auswertung der Routen zum Abrufen des Bereitstellungspfads kann zu unerwarteten Ergebnissen führen, wenn Engines in anderen Engines bereitgestellt werden.
Wenn Sie sich Ссылка ansehen, können Sie den Kommentar von Jose Valim lesen:
Außerdem kann ein Motor in einem anderen Motor eingebaut werden, so dass es unwahrscheinlich ist, dass Sie dadurch das richtige Ergebnis erhalten. Die beste Option ist wahrscheinlich eine Konfigurationsoption, bei der der Entwickler den Pfad festlegen wird.
Für konsistente Ergebnisse verwende ich jetzt einen Accessor für die Engine.
Zum Beispiel:
%Vor%Tags und Links ruby-on-rails ruby-on-rails-3.1 rails-engines routes