Rails 3.1 ресурсный конвейер с SASS - PullRequest
1 голос
/ 01 ноября 2011

Я читал этот пост о конвейере ресурсов Rails 3.1 , и автор указывает на то, что заставило меня несколько расстроиться, переходя к этой новой парадигме.

Поскольку ресурсы компилируются, и на этом этапе их имена меняются, чтобы включить хэш содержимого md5, вы больше не можете ссылаться на эти ресурсы непосредственно в своих файлах CSS. Возьмите это изображение, например, rails.png. Переименовано:

rails-9c0a079bdd7701d7e729bd956823d153.png

Я предпочитаю использовать SASS для моего CSS и специально помещать имена изображений в переменные, чтобы мои стили CSS могли быстро изменяться путем изменения этих переменных. Разве это не будет сломано сейчас, потому что имена заменены? Разве это также не испортит более классические фоновые изображения CSS?

Если это действительно проблема, как мы можем ее обойти? Я бы предпочел продолжать использовать SASS. Это облегчает управление обширными файлами CSS.

Ответы [ 2 ]

6 голосов
/ 01 ноября 2011

В таблицах стилей sass вам потребуется использовать помощник image_path или image_url, предоставленный sass-rails, для создания допустимых путей к изображениям. Другой способ - встроить erb в таблицу стилей, но мне это кажется слишком грязным.

0 голосов
/ 01 ноября 2011

Добавьте .erb в конце имени файла.И используйте это

.class { background-image: url(<%= asset_path 'image.png' %>) }

Вы можете прочитать об этом здесь .

...