Как использовать директиву @charset и манифесты в файлах SCSS в Rails 3.1 - PullRequest
1 голос
/ 24 июня 2011

Я хочу использовать методы манифеста в Rails 3.1

 /*
  *= require_self
  *= require_tree .
  */

Однако мне также нужно указать директиву кодирования

 @charset "UTF-8";

Кажется, что оба они должны быть впервая строка для интерпретации, но может быть только одна.Так что либо я получаю директиву с набором символов, либо я получаю манифест Sprockets.

Как я могу получить оба?

Ответы [ 3 ]

1 голос
/ 28 июня 2011

Просто поместите @charset "UTF-8"; в любой необходимый файл css / sass, в котором не используются звездочки , требуется директива , и она будет правильно скомпилирована в начало application.css (см. Handle @charset в конкатенациях CSS )

UPD: другой подход заключается в добавлении @charset "UTF-8"; сразу после комментариев Sprockets.В любом случае Sprockets вырежет его и вставит вверху страницы.

0 голосов
/ 11 апреля 2013

Ответ Нэша мог бы сработать в один момент, но не сработал для меня. Мне пришлось обмануть Sprockets, установив кодировку в utf-8, добавив в комментарий символ utf-8:

// é

Источник: https://github.com/sstephenson/sprockets/issues/220

0 голосов
/ 05 сентября 2011

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";
...