Добавление фонового изображения в Ruby on Rails 2 в CSS
Я создал эшафот в рубине, и я хочу вставить фоновое изображение на каждую страницу сайта, но я не уверен, какова должна быть ссылка на изображение.
мое изображение находится в app/assets/images/"dep.jpg"
это то, что у меня есть, но он не работает:
background-image:url('../images/dep.jpg');
}
Любая помощь? спасибо
Ответы
Ответ 1
Веб-сервер в рельсах занимает public
папку в качестве базы приложения. Следовательно, он ищет конкретное изображение под /public/images/
вместо app/assets/images/"dep.jpg"
, а так как его там нет, вы не можете получить изображение. Попытайтесь поместить свое изображение в папку /public/images/
, тогда оно будет работать.
Изменить: Если вы используете rails 3.1, тогда это будет иначе, поскольку Rails 3.1 использует концепцию конвейера активов для активов вашего приложения, поэтому тогда будет работать путь app/assets/images/dep.jpg
.
Ответ 2
В Rails 3.1 путь будет фактически `/assets/dep.jpg ':
background-image: url(/assets/dep.jpg);
Если вы преобразуете файл scaffold.css в файл Sass (переименуйте в scaffold.css.scss
), вы можете использовать помощника:
background-image: image-url("dep.jpg");
Ответ 3
Если ваше изображение находится в app/assets/images/dep.jpg
, то в файле css в рельсах вы должны написать background: url('/assets/dep.jpg');
Вам не нужно помещать изображение в общую папку таким образом.
Ответ 4
background: url ('/assets/image_name.jpg');
Это работало для меня в Rails 4.0
Ответ 5
Вы можете использовать абсолютный путь:
background-image:url('/images/dep.jpg');
Ответ 6
Если вы используете современную версию рельсов (как я полагаю, 3.1 или более поздняя версия), вы можете использовать:
background: url('../dep.jpg');
Так как css также живет в папке с вашими ресурсами, ..
автоматически ссылается на папку с ресурсами.