3

我最近将一个旧应用程序升级到 Ruby on Rails 3.2.9。在启用资产管道时,我将css.scss文件更改为,css.scss.erb以便我可以使用帮助程序仅加载指纹图像文件,如下所示:

`background: url(<%= asset_path "wishlist.png" %>)`

这适用于独立文件,但是当css.scss.erb文件必须由 导入时screen.css.scss,它会返回以下错误:

`Invalid CSS after "...d: url(": expected ")", was "<%= asset_path ..."

我尝试了有关此问题的所有建议,但在使应用程序加载指纹文件时,它们都没有避免错误。

有什么解决办法吗?

提前致谢。

4

3 回答 3

2

问题是Ruby on Rails 资产管道指南中提供的 sass-helpers使用连字符而不是下划线。将所有内容更改image_pathimage-path(等等),它应该可以正常工作,如下所示:

background: url(image_path("wishlist.png"));

于 2012-12-06T20:55:53.990 回答
0

这不是一个直接的解决方案,但如果您使用的是 sass-rails,那么您可以使用它提供的资产路径帮助程序,如此处所述

于 2012-11-29T22:35:16.023 回答
0

试试这个链接:http: //guides.rubyonrails.org/asset_pipeline.html

此外,您应该检查您的宝石是否已更新。尝试将“load 'deploy/assets'”添加到您的 Capfile(不带引号)

如果上述方法均无效,请尝试关闭开发环境中的调试:config.assets.debug = false(在您的环境/development.rb 上执行此操作)

这样您就可以尝试更自由地检查代码而无需部署

希望这对您有所帮助。问题解决后分享结果!;)

于 2012-11-30T15:45:11.463 回答