То, что вы хотите, чтобы этот файл компилировался через конвейер ресурсов Rails:
resources/themes/templates/resources/sass/my-ext-theme.scss
Чтобы заставить это работать, я научился нескольким вещам трудным путем:
- ExtJS использует SASS для компиляции (как и Rails) и Compass, который включает в себя наборы чертежей и компас CSS.Compass не работает с рельсами, вам нужно использовать гем "compass-rails", который не включает наборы инструментов CSS.Эти наборы инструментов есть только у основного компаса, и это зависимость от компас-рельсов, поэтому вы должны получить их, если вы связываете компас-рельсы, они должны быть в вашей конфигурации sass.load_paths.Если вы включите камень «компас» без компас-рельсов, у вас будут странные ошибки и вы станете экспертом в конвейере ресурсов рельсов, пытаясь их решить!
- ExtJS использует более старую версию SASS, более новую.Rails не любит определять функции и миксины внутри модулей.Чтобы исправить это, посмотрите на ошибки, которые он вам дает (всегда определение функции или миксина) и переместите их в файлы _functions или _mixins.(дополнительная информация: получение ошибки после перехода на sass-3.1.8 )
Вот как начать работу:
Вставьте это в свою конфигурацию /application.rb:
# Set up our ExtJS SASS build environment
config.sass.load_paths << "#{Rails.root}/vendor/assets/stylesheets"
config.sass.load_paths << "#{Rails.root}/vendor/assets/frameworks/compass/stylesheets"
config.sass.load_paths << "#{Rails.root}/vendor/assets/frameworks/blueprint/stylesheets"
Поместите таблицы стилей ExtJS (каталог ext4 / default в SDK) здесь:
vendor/assets/stylesheets/ext4/default/
Поместите my-ext-theme.scss в app / assets/ таблицы стилей и использовать его, как вы это обычно делаете с рельсами.Он будет вызывать этот код:
@import 'ext4/default/all';
. Он введет все определения ExtJS, и вы должны быть в пути.