我有一个 JRuby on Rails 3.1.6 应用程序,并希望将其作为 WAR 文件部署在 Tomcat 7 上。为了产生战争,我使用莺。
我可以将应用程序部署到服务器并且一切都在运行。但是生成的链接或重定向表单设计为/users/sign_in
不起作用,因为上下文路径被忽略了。
我尝试使用以下命令设置相对 url 根:
config.action_controller.relative_url_root = '/foo'
但是没有找到方法。(也为此尝试了 ENV 变量,但什么也没发生)
我尝试scope '/foo'
在我的中使用,routes.rb
但这也不起作用。
我也尝试将其添加到我的config.ru
map '/foo' do
run Foo::Application
end
但是config.ru
文件接缝不包含在 WAR 文件中或以任何方式使用。
我无法在 tomcat 中生成 VirtualHost 或任何东西,我只有将应用程序部署为 WAR 文件的权限。有什么方法可以告诉 Rails 应用程序它在给定的子目录(上下文路径)下运行,以便将其添加到所有生成的链接、重定向等,在 Rails 3.1.6 中工作?