2009-07-27 16 views
2

Ich verwende Jruby und Warbler, um eine Jruby on Rails-Anwendung auf einem Tomcat-Server bereitzustellen. Ich kann alle meine Bilder sehen, wenn ich den Server mit Webrick: jruby -S Server/Skript bereitstellen. Wenn ich jedoch eine .war-Datei mit jruby-s warble aus dem Rails-Verzeichnis erstelle und an Tomcat stelle, wird keines meiner Bilder auf dem Tomcat-Server angezeigt. Ich habe festgestellt, dass sich der Speicherort des Images in den Stamm des Verzeichnisses in der WAR-Datei geändert hat.Warbler: Wo sind meine Bilder?

Es scheint, dass /images/pictyname.jpg wäre angemessen, aber meine Bilder werden nicht angezeigt.

Antwort

0

Haben Sie die richtigen symbolischen Verknüpfungen zu Ihrem Bilderordner eingerichtet?

f.e. /var/www/website.com/current/20090807200123/public/images -> /var/www/website.com/shared/public

?

3

"nicht angezeigt" -> 404? Sie sagten, Sie hätten bemerkt, dass sich der Bildstandort geändert hat. Haben Sie überprüft, ob die spezifischen Bilder vorhanden sind? (jar tf myapp.war wird Ihnen zeigen.)

Haben Sie Ihren Krieg unter einem Kontextpfad bereitstellen? D. h., Wenn die Homepage bei/myapp/ist, dann werden Bilder bei/myapp/images/Bildname.jpg sein. JRuby-Rack versucht, die Rails-Asset-Pfade so anzupassen, dass sie den Kontextpfad enthalten. In einigen Fällen ist dies jedoch nicht möglich. Vielleicht möchten Sie auch auf die Einstellung config.action_controller.asset_host in config/environments/production.rb auf '/ myapp' zurückgreifen.