Подтвердить что ты не робот

Перемещать переменные Sass через Assets Pipeline, Rails 3.1 rc1

Недавно я разветкил один из моих проектов Rails 3.0 с помощью 3.1 rc1, чтобы попробовать новый конвейер активов. Я использовал Sass в проекте до перехода к 3.1, поэтому я настраивал некоторые переменные и функции в отдельном файле конфигурации и позволял всем моим другим sass файлам импортировать один файл в первой строке.

Это отлично работает, чтобы не повторять некоторые цветовые коды и общую геометрию в таблицах стилей. Проблема теперь в новом Assets Pipeline заключается в том, что, как я понял, он преобразует файлы ".css.sass" в raw css, прежде чем добавлять его в остальную часть кода.

Итак, если я укажу в своем "application.css":

/*
 *= require ./configure
 *= require ./what_ever_other_files_i_want_to_import
*/

Я получаю такие ошибки, как:

Sass::SyntaxError
    Undefined variable: "$interactive".

Когда я пытаюсь получить доступ к файлу из: http://localhost:3000/assets/application.css

Любые идеи?

4b9b3361

Ответ 1

Sass поддерживает Partials. Таким образом, вы можете включить свою отдельную конфигурацию в __configuration.sass_ и ссылаться на нее с помощью

@import "configuration";

из основного файла sass.

Ответ 2

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

Если вы хотите переносить переменные во все файлы, удалите *= require_tree . из вашего файла application.css.scss и замените его директивой @import "layout.css.scss";, чтобы вручную импортировать каждый файл sass.

Да, вы должны @import каждый файл