2012-01-11 4 views
2

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

В наших представлениях, мы link_to звонки так:

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

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

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

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

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

ответ

2

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

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