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