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

最佳答案

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

1.配置

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

查看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/

10-13 07:58