我正在使用 Rails 3.1 的 Assets 管道,虽然它在我的本地主机上的开发环境中似乎完美无缺,但我在引擎场上遇到了巨大的问题。
这是我的基本问题。
当我在我的 scss 文件之一中包含背景图像时:
a {
color: #3c7f8b;
font-weight: bold;
padding-left: 35px;
font-size: 13px;
display: block;
background: white url(shade.png) top right;
&:hover {
color: #222222;
background: white url(shade2.png) top right; }
&.on {
color: #222222;
background: white url(shade2.png) top right; } } }
我遇到了以下问题: 即使我已经预编译了我的 Assets ,浏览器仍会请求
/assets/shade.png
而不是 /assets/shade-FINGERPRINT.png
这是存在的实际文件。有谁知道我可以通过在我的 .scss 文件中的 Assets 文件夹中引用图像来解决这个问题吗?
最佳答案
在 Rails 3.1 中使用 scss 时,您应该使用 image-url 而不是 url 来引用图像。
此外,请确保在 sass-rails 之前加载指南针,因为 sass-rails 会覆盖 Assets 方法以使用 Assets 管道。
最后,如果您使用 capistrano 进行部署,请添加
load 'deploy/assets'
在部署时启用 Assets 编译。
关于ruby-on-rails - Rails 3.1 Assets 管道和缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683584/