如何在Rails 3.1中使用@charset指令和SCSS文件中的清单

时间:2011-06-23 20:01:07

标签: ruby-on-rails-3.1 sass sprockets

我想在Rails 3.1中使用manifest方法

 /*
  *= require_self
  *= require_tree .
  */

但是,我还需要指定一个编码指令

 @charset "UTF-8";

这两个似乎都需要在第一行解释,但只有一个可以。所以要么我得到我的charset指令,要么我得到Sprockets清单。

我怎样才能同时获得两者?

3 个答案:

答案 0 :(得分:1)

只需将@charset "UTF-8";放在任何不使用Sprockets require 指令的css / sass文件中,它就会被正确编译到application.css的顶部(参见{{ 3}})

UPD:另一种方法是在Sprockets评论后立即添加@charset "UTF-8";。无论如何,链轮将它切断并插入页面的顶部。

答案 1 :(得分:0)

  

UPD:另一种方法是添加@charset“UTF-8”;在Sprockets评论之后。无论如何,链轮将它切断并插入页面的顶部。

这对我很有用,只需要确保你也包括require_self - 在我开始之前,我的application.css没有包含这个,所以它没有拿起我的@charset =“UTF8”;

最终结果看起来像这样 - 以防万一其他人正在敲打着这个问题:

/*
 * This is a manifest file that'll automatically include all the stylesheets available in this directory
 * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
 * the top of the compiled file, but it's generally better to create a new file per style scope.
 *= require_self
 *= require <your other requires go here>
*/
@charset "utf-8";

答案 2 :(得分:0)

纳什的回答可能在某一点上起作用,但对我没有用。我不得不通过在评论中添加utf-8字符来欺骗Sprockets将charset设置为utf-8:

// é

来源: https://github.com/sstephenson/sprockets/issues/220