我对资产管道的工作方式感到困惑,我使用了一个名为 aloha-rails 的 gem,它有下一个 CSS 规则:
button.aloha-button {
background: url("../img/base.png") no-repeat scroll 0 0 transparent !important;
}
如果我在本地运行它,则该规则已存档:
http://local.dev/assets/aloha/css/aloha.css?body=1
我可以看到图像,它是从这个地址加载的:
http://local.dev/assets/aloha/img/base.png
但是当我在heroku上运行它时,当我在本地预编译资产时,css规则是从applications.css加载的,该规则仍然带有../img/base.png,因此图像试图从以下位置加载:
http://server.herokuapp.com/img/base.png
并且不存在,所以我收到 404 错误并且看不到图像。