В раздел 2.2.2, "CSS и Sass" , мне сказали положить image-url('delete.png')
в мой sass. И поэтому у меня есть.
Однако он генерирует CSS как
background-image: url(/images/delete.png)
вместо того, что мне говорят повсюду, он должен генерировать, правильную и очевидную вещь,
background-image: url(/assets/delete.png)
Что. Черт.
Я провел буквальные дни, пытаясь понять, откуда это происходит.
Здесь суть соответствующих настроек, которые приводят к такому поведению. Здесь суть тех же файлов в более ранней версии нашей базы кода (сразу после того, как мы реализовали конвейер активов и фактически работали около недели до того, как появилось это неприятное поведение). Можете ли вы определить различия? Любые другие файлы, о которых вы можете подумать, могут быть причиной этого?
Примечание
- Мы намеренно используем более старую версию
sass-rails
, потому что более новая версия вызывала ошибкиStack level too deep!
при предварительной компиляции. - Мы используем Compass.
Два хакерских попытки обходных решений
Потому что на самом деле устранение неполадок с конвейером ресурса отстойно.
1: Поместить изображения в /images
Я попытался просто переместить все изображения в public/images
и добавить это как путь загрузки. Это работало в dev (изображения доступны либо в /assets
, либо /images
), но предварительная компиляция для создания помещает отпечатки пальцев только в /assets
(obvs), поэтому, когда sass-rails помещается в url(/imagse/delete-120398471029384102364.png)
, он может " t.
2: Сделать /public/images символической ссылкой на /public/assets
Это, вероятно, будет работать в процессе производства, но в разработке папка /assets не существует, поэтому директивы url(/images/delete.png)
приводят к необоснованным образам.