2011-11-02 81 views
0

我想在另一个范围内运行我的Rails应用程序,以便可以将它部署到一个war文件(mydepartment.war)中,该文件将与另一个Java应用程序共享一个Tomcat实例战争。 solution I chose用于修改rackup文件(/config.ru)。Rails 3:范围:路由:JS/CSS助手

map '/mydepartment' do 
    run Myapp::Application 
end 

当我这样做,我的基本URL成为http://localhost:3000/mydepartment,而不是仅仅http://localhost:3000。该应用程序运行良好,但它不下载由样式表和脚本助手指定的CSS/JS。

然而,当我尝试包括样式表和Javascript使用助手,如

<%= stylesheet_link_tag :all %> 
<%= javascript_include_tags :defaults %> 

他们产生包括本地主机中的URL:3000/JavaScript的/的jquery.js,而不是本地主机:3000/mydepartment /javascripts/jquery.js。我实际上尝试在浏览器中输入后者,并且表格下载正常。

如何哄骗Rails Javascript/CSS助手下载新范围中的文件而不对其进行硬编码?

回答

1

如果你没有在轨道上3.1:

添加到您的config/environments/production.rb(如生产模式):

config.action_controller.asset_path = proc { |path| "/mydepartment#{path}" }

+0

我on Rails的3.0.10。我试过这个并重新启动我的服务器。没有工作! –

+0

对不起我的错,忘了action_controller部分;)看到我编辑的答案 – sled