Как получить значение context-root для приложения JRuby/Rails, развернутого в виде файла войны

У нас есть приложение Rails, созданное с помощью JRuby и развернутое в JBoss в виде файла войны, сгенерированного варблером.

В наших представлениях у нас есть вызовы link_to следующим образом:

<%= link_to "link", "path/to/file" %>

Однако мы установили для нашего context-root в jboss-web.xml что-то вроде:

<context-root>my/app</context-root>

Конечным результатом является то, что после развертывания нашего файла войны в JBoss приведенные выше ссылки не работают, поскольку они не включают префикс, указанный значением context-root.

Есть ли способ получить значение этого context-root из JRuby/Rails, чтобы я мог исправить свои ссылки?


person buruzaemon    schedule 11.01.2012    source источник


Ответы (1)


jruby-rack предоставляет корневой контекст как переменную окружения ENV['RAILS_RELATIVE_URL_ROOT']. Подробности можно найти в setup_relative_url_root в jruby-rack.

Используя это, я смог внести исправления в пути, которые ранее были забиты.

person buruzaemon    schedule 09.07.2012