ERB未被资产管道导入

时间:2012-11-29 21:40:35

标签: ruby-on-rails ruby-on-rails-3.2 asset-pipeline

我最近将旧应用程序升级到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上提出的所有建议,但是当应用加载指纹文件时,它们都没有避免错误。

任何解决方案?

提前致谢。

3 个答案:

答案 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上执行此操作)

通过这种方式,您可以尝试更自由地检查代码,而无需部署

希望这有助于此。问题解决后分享结果! ;)