Rails импортирует файл scss для конкретной компоновки - PullRequest
0 голосов
/ 14 декабря 2018

В моем приложении есть 2 макета, один используется для самого приложения, а другой - для сайта (о нас, контактах и ​​т. Д.).

Я импортировал файлы scss для макета приложения в приложении.css.scss.

Теперь я пытаюсь импортировать какой-либо другой файл scss для применения только к макету сайта, чтобы не мешать макету приложения.

В этих файлах используются переменные, такие как $ white.

Предложение, которое я видел, заключается в том, чтобы применить файл scss к определенному макету, а именно импортировать его в сам файл макета, например, <%= stylesheet_link_tag "variables" %>

Но переменные не отображаются.Я понимаю, что это не работает, потому что для обработки файлов как sass мне нужно использовать @import в application.css.scss.Но если я сделаю это, они будут применены повсеместно.

scss файлы помещаются в папку поставщика.

Верны ли мои предположения?Есть ли альтернативный способ добиться того, чего я хочу?

1 Ответ

0 голосов
/ 14 декабря 2018

Полагаю, ваш лучший вариант - использовать разные CSS для каждого макета (application.scss и theother.scss), поскольку переменные необходимо применять во время предварительной компиляции ресурсов.

theother.scss будет выглядеть примерно так:

/*
*= require 'variables'
*= require 'application'
*/

Возможно, вам придется изменить require 'application' со всеми require внутри него, если вам нужен файл variables для переопределения других переменных.

Вызатем добавьте theother.scss в качестве ресурса, который будет предварительно скомпилирован в конфигурации rails:

Rails.application.config.assets.precompile += %w( theother.css )

И, наконец, в одном используемом макете:

stylesheet_link_tag "application"

, а в другом -:

stylesheet_link_tag "theother"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...