ruby-on-rails-3.1 - 如何在 Rails 3.1 中使用 Assets 管道自动将 scss 编译成 css?

标签 ruby-on-rails-3.1 sass asset-pipeline

新的 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/

相关文章:

css - 如何修复 CSS 解析错误 : Semicolon or block is expected?

ruby-on-rails-3.1 - 耙 Assets :precompile is slow

mysql - rake 数据库 :create doesn't end

mysql - rails update_all 字段并将计数递增 1

ruby-on-rails - 使用Active Admin创建Rails 3 HABTM会抛出 'Can' t质量分配 protected 属性:' error

css - 我如何使用过滤器 : for ie8 that won't affect ie9?

javascript - 如何在 css 中使用 javaScript 对象键的值?

ruby-on-rails - 清除未使用 Assets 的方法是什么?

css - 部署到 Heroku 后未加载更新的 CSS 样式表?

ruby-on-rails - ActiveAdmin -- 显示嵌套表单的复选框列表而不是添加项目的表单