【发布时间】:2012-12-26 23:06:26
【问题描述】:
在 Rails 中,文件 file.css.sass.erb:
.class-name
width: <%= "10px" %>
正在抛出错误:
Invalid CSS after "": expected expression (e.g. 1px, bold), was "<%= "10px" %>"
它不应该工作吗?
更新 1
仍在苦苦挣扎,但我发现如果将其更改为 SCSS 语法(文件名和代码),仍然会导致非常相似的错误。
Invalid CSS after " width: ": expected expression (e.g. 1px, bold), was "<%= "10px" %>;"
虽然,如果我删除 scss 扩展名,将 CSS 类似的语法保留为文件名 file.css.erb,Rails 确实可以按预期编译。
但考虑到我忘记了一些非常明显的事情,我也在考虑这可能是与 sass-rails 的 gem 冲突,或者一个错误,或者什么。 毕竟,代码在没有 SASS 扩展的情况下也能正常工作。
更新 2
刚刚在同一问题上发现了其他 4 个未回答的问题:
- scss.erb ruby code not executing
- Assets not being run though the .erb preprocessor
- Rails erb preprocessing not happening in development mode
- sprockets sass partial erb extension。
他们中的一些人最终通过改变方法解决了这个问题。 SASS 文件的 ERB 问题仍未解决。
【问题讨论】:
-
你应该添加 .css ,你试过
bundle exec rake assets:precompile吗? -
使用
.sass.erb和.css.sass.erb结果是一样的。没试过预编译,开发环境有必要吗? -
不是。您使用的是什么版本的导轨?您提供的示例在 3.2.11 上对我来说很好......
-
Rails 3.2.9 在这里。我迷迷糊糊的,这么简单,就是想不通,哈哈。
-
在this post 他们也遇到过类似的问题。不知道是版本问题还是 gem 问题。
标签: ruby-on-rails ruby sass asset-pipeline erb