我最近将旧应用程序升级到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 ..."
我尝试了question上提出的所有建议,但是当应用加载指纹文件时,它们都没有避免错误。
任何解决方案?
提前致谢。
答案 0 :(得分:2)
问题是Ruby on Rails Guide to the Asset Pipeline上提供的sass-helpers使用的是连字符而不是下划线。将所有内容更改为image_path
而不是image-path
(依此类推),它应该可以正常工作,就像这样:
background: url(image_path("wishlist.png"));
答案 1 :(得分:0)
这不是一个直接的解决方案,但是如果你使用的是sass-rails,那么你可以使用它提供的资产路径助手,如所描述的here
答案 2 :(得分:0)
尝试给这个链接一个镜头: http://guides.rubyonrails.org/asset_pipeline.html
另外,您应该检查您的宝石是否已更新。 尝试将“load'partde / assets'”添加到Capfile(不带引号)
如果上述方法均无效,请尝试关闭开发环境中的调试: config.assets.debug = false(在您的environment / development.rb上执行此操作)
通过这种方式,您可以尝试更自由地检查代码,而无需部署
希望这有助于此。问题解决后分享结果! ;)