Ruby on rails - Cap 暂存部署不会将 image-url( "/assets/logo_white.png" ) 替换为指纹图像文件



我正在运行一个rails站点,它有一个capistrano部署过程。我了解一些关于部署管道和静态文件如何直接从Nginx服务。然而,这是我的理解,静态图像文件链接应该得到更新,以反映新的指纹图像文件名。

例如,在部署之后,我的文件logo_white被放置在公共/assets文件夹中,新的文件名变成:
logo_white-204b61bda69f4aae0c9bb35ca909cdc2.png

然而,在我的application.css.scss文件中,行:

image-url("/assets/logo_white.png");

变成

url(/assets/logo_white.png)

不对。如何指示sass编译器使用新的指纹图像名称?

当您在SASS样式表中使用image-url helper方法时,您不希望包含路径的/assets/部分。只要图片名称就足够了。

image-url("logo_white.png");

另外,即使您的资产已经编译,也要确保您的应用程序实际上是在production环境中运行的。

最新更新