在Rails中,文件file.css.sass.erb
:
.class-name
width: <%= "10px" %>
抛出错误:
Invalid CSS after "": expected expression (e.g. 1px, bold), was "<%= "10px" %>"
这不应该有效吗?
仍然在努力,但我发现如果我将其更改为SCSS语法(文件名和代码),仍然会导致非常类似的错误。
Invalid CSS after " width: ": expected expression (e.g. 1px, bold), was "<%= "10px" %>;"
虽然,如果我 删除 scss
扩展名,保留CSS类似语法的文件名file.css.erb
,Rails会按预期编译。
然而,考虑到我忘记了一些非常明显的事情,我也在考虑这可能是与sass-rails
的宝石冲突,或者是一个错误,或者某种东西。 毕竟,代码在没有SASS扩展的情况下正常工作。
刚刚在同一问题上找到了其他4个未解答的问题:
他们中的一些人最终通过改变方法解决了这个问题。关于SASS文件的ERB问题仍然没有改变。
答案 0 :(得分:13)
sass-rails
确实存在问题,正如on GitHub所述。
所以this guy写了this patch,这完全解决了这个问题。
添加到Gemfile
:
gem "sass_rails_patch", "~> 0.0.1"
然后运行bundle
,你很好!
答案 1 :(得分:8)
如果erb仅用于引用资产,则可以使用asset helpers:
background-image: asset-url("rails.png")
......而不是......
background-image: url("<%= image_path('rails.png') %>");