Почему я не могу установить корень относительного URL-адреса ActionController в приложении JRuby on Rails, запущенном на Jetty? - PullRequest
0 голосов
/ 23 марта 2011

Я занимаюсь разработкой приложения Ruby on Rails, но запускаю его с JRuby в Jetty по контекстному пути /app.

Я использую Rails 3.0.5, JRuby 1.6.0 и Jetty 6.1.22

При развертывании в Jetty относительные URL-адреса статических ресурсов равны /stylesheets/* и /javascripts/*, а не /app/stylesheets/* и /app/javascripts/* и, следовательно, нарушают стилизацию и функциональность на стороне клиента.

Я попытался добавить config.action_controller.relative_url_root = '/app' к config/environments/production.rb, но Jetty не может инициализировать приложение.

Трассировка стека от Jetty выглядит следующим образом:

2011-03-2316: 19: 54.062: WARN: / app: Ошибка: не удалось инициализировать приложение org.jruby.rack.RackInitializationException: не удалось создать экземпляр общего приложения в org.jruby.rack.SharedRackApplicationFactory.init (SharedRackApplicationFactory.java:39) в org.jruby.rack.RackServletContextListener.contextInitialized (RackServletContextListener.java:44) в org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:548) в org.mortbay.ontet.tetext (Context.java:136) на org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1250) на org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:517) на org.mortb.jetty.webapp.WebAppContext.doStart (WebAppContext.java:467) в org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) в org.mortbay.jetty.handler.HandlerCollection.152.jpg) в org.mortbay.jetty.handler.ContextHandlerCollection.doStart (ContextHandlerCollection.java:156) в org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) в org.mortbay.jetty.handler.dolerHandlerCollection.java:152) в org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) в org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:130) в org.mortbayer.jet..doStart (Server.java:224) в org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) в org.mortbay.xml.XmlConfiguration.main (XmlConfig)uration.java:985) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник в jj).invoke (неизвестный источник) в org.mortbay.start.Main.invokeMain (Main.java:194) в org.mortbay.start.Main.start (Main.java:534) в org.mortbay.start.Main.start(Main.java:441) на org.mortbay.start.Main.main (Main.java:119)

Как я могу настроить этот параметр и не дать Jetty взорваться при инициализации приложения?

1 Ответ

0 голосов
/ 10 сентября 2011

config.action_controller.relative_url_root удалено в Rails 3. У меня есть пост об этом на моем сайте: Развертывание приложения Rails 3.1 в подкаталоге в Apache . Хотя он написан для Apache, вы сможете переписать его на Jetty.

...