新的 rails 3.1 Assets 管道让我很困惑。在 rails 3.0.x 中,使用 sass gem,当我编辑 .scss 文件时,我的全局 css 文件得到更新。但是在 Rails 3.1 中,这不再起作用了。似乎每当我修改 .scss 文件时,我都必须运行 rake 任务来更新我的 css 文件。我觉得我对新 Assets 管道有一些误解,但我不知道它是什么。有人可以为这个问题提供解决方案或解释吗?谢谢你。
最佳答案
这有两个可能的原因。我假设您处于开发模式,并且所有 gem 都已加载。
1.配置
在开发模式下,文件按需编译并缓存,直到进行任何更改。您必须在正确的文件中设置新的 3.1 配置选项,否则这可能无法按预期工作。
查看 upgrading 上的 Rails 指南部分.
2.扩展
另一个是以正确的顺序获取扩展。对于 scss 这将是 file.css.scss
.这告诉 Sprockets 首先将文件解析为 scss,并且具有 css 扩展名。如果最后有 .erb - file.css.scss.erb
- 然后先处理erb,然后是scss。
升级应用程序有点棘手,因为很多事情都发生了变化。 asset pipeline guide有很多有用的信息和建议。
关于ruby-on-rails-3.1 - 如何在 Rails 3.1 中使用 Assets 管道自动将 scss 编译成 css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7467594/