新的Rails 3.1资产管道让我困惑了很久。在Rails 3.0.x中,使用sass gem时,当我编辑.scss文件时,我的全局css文件会得到更新。但在Rails 3.1中,这种方法不再有效。似乎我必须运行一个rake任务才能在修改.scss文件后更新我的css文件。我感觉我对新资产管道有什么误解,但我不知道是什么。能否有人提供一个解决方案或解释这个问题?谢谢。
新的Rails 3.1资产管道让我困惑了很久。在Rails 3.0.x中,使用sass gem时,当我编辑.scss文件时,我的全局css文件会得到更新。但在Rails 3.1中,这种方法不再有效。似乎我必须运行一个rake任务才能在修改.scss文件后更新我的css文件。我感觉我对新资产管道有什么误解,但我不知道是什么。能否有人提供一个解决方案或解释这个问题?谢谢。
file.css.scss
扩展名。这将首先告诉 Sprockets 解析文件为 scss,然后在其后加上 css 扩展名。如果文件扩展名为 .erb,则应该使用 file.css.scss.erb
,这样 erb 将首先处理,然后再处理 scss。image-url("image.png")
http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets
对我来说,这个问题很容易解决。 我只需从assets/stylesheets中删除所有预编译的*.css文件,保留所有*.scss文件。Rails可以直接使用*.scss文件,无需预编译。