Как указать, что таблицы стилей в моем проекте компилируются / загружаются? - PullRequest
0 голосов
/ 05 ноября 2018

В моей папке есть файл theme/skins/default.css, и у меня есть другой файл с именем /style.css. Я хочу, чтобы стили из default.css были добавлены в мой application.css после стилей из style.css. Помимо их ручного копирования, как мне это сделать? В основном все таблицы стилей в моей папке theme/skins/, я хотел бы добавить в мой файл application.css после моего style.css.

Другими словами, я бы хотел, чтобы стили в моем theme/skins/default.css переопределяли файлы в моем style.css там, где они существуют.

Как мне поступить так в рамках ограничений ресурса Rails 3.2?

Редактировать 1

Обратите внимание, что я пробовал это:

/*
 *
 *= require_tree .
 *= require "theme/skins/default"
 *= require_self
 */

@import "bootstrap";
@import "font-awesome";

И это не делает его в правильном порядке.

Когда я делаю просмотр источника на своей странице, это то, что я вижу:

<link href="/assets/theme/skins/default.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/theme/slick.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/theme/style.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" />

1 Ответ

0 голосов
/ 05 ноября 2018

Компилятор конвейера ресурсов учитывает порядок, в котором вы запрашивали файлы в манифесте. Проблема в том, что у вас require_tree . выше всего (таким образом, ваши конкретные требования игнорируются, потому что они требовались раньше).

Попробуйте это:

/*
 *= require 'theme/skins/style'
 *= require "theme/skins/default"
 *= require_tree . (this will ignore files already required)
 *= require_self
 */

@import "bootstrap";
@import "font-awesome";

РЕДАКТИРОВАТЬ: добавление ссылки на документ манифеста https://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

...