我想在不同的范围内运行我的Rails应用程序,以便我可以将它部署在war文件(mydepartment.war)中,该文件将与另一个Java app WAR共享一个Tomcat实例。 solution I chose用于修改rackup文件(/config.ru)。
map '/mydepartment' do
run Myapp::Application
end
执行此操作时,我的基本网址变为 http://localhost:3000/mydepartment ,而不仅仅是 http://localhost:3000 。应用程序运行正常,但它不下载样式表和脚本助手指定的CSS / JS。
但是,当我尝试使用帮助程序包含样式表和Javascript时,例如
<%= stylesheet_link_tag :all %>
<%= javascript_include_tags :defaults %>
他们生成的网址包括 localhost:3000 / javascripts / jquery.js ,而不是 localhost:3000 / mydepartment / javascripts / jquery.js 。我实际上尝试在浏览器中键入后者,并且工作表下载正常。
我如何哄骗Rails Javascript / CSS助手下载新范围内的文件而不进行硬编码?
答案 0 :(得分:1)
如果你不在轨道3.1:
将此添加到config/environments/production.rb
(如果在生产模式下):
config.action_controller.asset_path = proc { |path| "/mydepartment#{path}" }