【问题标题】:Rails 3: Scopes: Routing: JS/CSS helpersRails 3:范围:路由:JS/CSS 助手
【发布时间】:2011-12-20 14:12:05
【问题描述】:

我想在不同的范围内运行我的 Rails 应用程序,以便可以将其部署在一个 war 文件 (mydepartment.war) 中,该文件将与另一个 Java 应用程序 WAR 共享一个 Tomcat 实例。 solution I chose 用于修改机架文件 (/config.ru)。

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 包括 localhost:3000/javascripts/jquery.js 而不是 localhost:3000/mydepartment/javascripts/jquery.js。我实际上尝试在浏览器中输入后者,并且工作表下载正常。

如何诱使 Rails Javascript/CSS 帮助程序在不硬编码的情况下下载新范围内的文件?

【问题讨论】:

    标签: ruby-on-rails rails-routing


    【解决方案1】:

    如果您不在 Rails 3.1 上:

    将此添加到您的config/environments/production.rb(如果处于生产模式):

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

    【讨论】:

    • 我在 Rails 3.0.10 上。我尝试了这个并重新启动了我的服务器。没用!
    • 抱歉我的错,忘记了 action_controller 部分;)查看我编辑的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多