正确的资产相对url:rails / apache / passenger

时间:2013-03-10 00:07:40

标签: ruby-on-rails apache passenger

我正在使用apache2和phusion passenger 4测试rails app部署。 这是我的apache conf:

    <Location /myproject>
            ProxyPass http://localhost:3000
            ProxyPassReverse http://localhost:3000
    </Location>

然后我在myproject目录中以独立模式启动乘客:

passenger start -a 127.0.0.1 -p 3000 -d

当我将浏览器指向https://mydomain.com/myproject时,主页显示正确,但未加载css或js,因为指向资源的链接如下:

<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css">

指向:

https://mydomain.com/assets/application.css

但应该是:

https://mydomain.com/myproject/assets/application.css

如何在apache或rails端修复此问题?

1 个答案:

答案 0 :(得分:2)

解决方案很简单:

config.relative_url_root = "/myproject"

在application.rb

资产的固定路径,不会禁用资产管道。