如何在Rails 3.1中使用资产管道自动将scss编译成css?

jch*_*njc 5 sass ruby-on-rails-3.1 asset-pipeline

新的rails 3.1资产管道让我很困惑.在rails 3.0.x中,使用sass gem时,我的全局css文件在编辑.scss文件时得到了更新.但是在rails 3.1中,这不再适用了.似乎每当我修改.scss文件时,我都必须运行rake任务来更新我的css文件.我觉得我误解了有关新资产管道的问题,但我不知道它是什么.有人可以为这个问题提供解决方案或解释吗?谢谢.

Ric*_*lse 6

这有两个可能的原因.我假设您处于开发模式,并且所有宝石都已加载.

1.配置

在开发模式下,文件按需编译并缓存,直到进行任何更改.您必须在正确的文件中设置新的3.1配置选项,否则这可能无法按预期工作.

查看有关升级的Rails指南部分.

2.扩展

另一种是以正确的顺序获得扩展.对于scss来说file.css.scss.这告诉Sprockets首先将文件解析为scss,并且具有css扩展名.如果最后有.erb file.css.scss.erb- 那么首先处理erb,然后scss.

升级应用程序有点棘手,因为很多事情都发生了变化.该资产的管道导有很多有用的信息和建议.