Ich bin heute beim Deployment einer Testanwendung auf ein paar 
Schwierigkeiten gestoßen, die ich bisher nicht hatte. Eigentlich wollte 
ich die App unter /demo haben und ich wollte außerdem "Caching" von 
JavaScript- und CSS-Dateien verwenden. Potenziell sollen gleichzeitig 
mehrere, unabhängige Apps unter /demo1, /demo2 usw. installiert werden.

Anscheinend (nicht ausprobiert) könnte ich dem Routing mitteilen, dass 
die Anwendung nicht unter /, sondern /demo liegt

# config/environment.rb oder config/environments/production.rb
config.action_controller.relative_url_root = "/demo"

Damit würden immerhin die generierten Pfade stimmen. Das sind aber nicht 
alle. Weitere Pfade gibt es vor allem in Stylesheets als Verweise auf 
Hintergrundbilder. Solche Pfade sind entweder absolut, dann 
berücksichtigen sie das Unterverzeichnis nicht. Oder sie sind relativ, 
dann funktionieren sie nicht mehr, wenn Stylesheets aus 
unterschiedlichen Verzeichnisebenen per

  stylesheet_link_tag ..., :cache => true

zu einem Stylesheet zusammengefasst werden.

Dass Stylesheets nicht nur direkt in public/stylesheets liegen ist 
ziemlich typisch, wenn man gestylte JavaScript-Komponenten verwendet.

Ein wirklich schöne Lösung ist mir noch nicht eingefallen. Im Augenblick 
ist meine Idee, beim Deployment in den Stylesheets alle URLs durch 
solche mit absoluten Pfaden auszutauschen und dabei einen evtl. Präfix 
für das Unterverzeichnis zu berücksichtigen.

Macht das jemand? Gibt's schon ein Skript dafür? Oder gibt es einen 
anderen, besseren Weg? Auf Rewrite-Regeln des Webservers würde ich dabei 
gerne verzichten. Nicht zuletzt, weil sie Passenger zusätzliche Arbeit 
abverlangen.

Michael

-- 
Michael Schuerig
mailto:mich...@schuerig.de
http://www.schuerig.de/michael/
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an