L'ajout d'une image d'arrière-plan dans Ruby on Rails 2 en CSS
J'ai généré un échafaudage en ruby, et que je veux insérer une image d'arrière-plan de chaque page du site, mais Im pas sûr de ce que le lien de l'image doit être.
mon image est dans app/assets/images/"dep.jpg"
c'est ce que j'ai, mais il ne fonctionne pas:
background-image:url('../images/dep.jpg');
}
De l'aide? grâce
- essayez de donner le chemin exact. Coz même le dossier
/public
aimages
dossier et je pense que c'est de regarder au lieu de votre chemin - Cela dépend de l'endroit où votre fichier est, par rapport à votre répertoire d'images.
../
dit aller un répertoire de l'actuel emplacement du fichier et recherchez le répertoire images. Qu'est-ce que votre structure de répertoire ressembler? - mon rails dossier de projet est appelé ClassSchedule/apps/assets/images/dep.jpg
- et où est le fichier contenant cette ligne:
background-image:url('../images/dep.jpg');
- dans mon fichier css situé à ClassSchedule/apps/assets/css/échafaudage.css
Vous devez vous connecter pour publier un commentaire.
Le serveur web dans les rails prend
public
dossier que la base de l'application. D'où sa recherche de l'image sous/public/images/
au lieu deapp/assets/images/"dep.jpg"
& puisque ce n'est pas là, là, vous ne pouvez pas obtenir l'image. Essayez de placer votre image dans/public/images/
dossier, il pourrait fonctionner.Edit: Si vous êtes à l'aide de rails 3.1, alors ce serait différent que les Rails 3.1 utilise le concept de l'asset pipeline pour les actifs de votre demande, afin ensuite de chemin
app/assets/images/dep.jpg
serait évidemment de travail.public
dossier est présent dans le dossier racine de votrerails
application. La structure hiérarchique va comme<yourrailsappname>/public/images
images
& mettez-y de sorte que vous pouvez avoir tous vosimage-type
fichiers à un endroit.no-repeat
comme ça. & s'il vous Plaît n'oubliez pas de taux de ma réponse si il a aidé.Dans les Rails 3.1, le chemin sera fait "/assets/dep.jpg':
Si vous convertissez votre échafaudage.fichier css à un fichier Sass (renommer
scaffold.css.scss
) alors vous pouvez utiliser le helper:Si votre image est en
app/assets/images/dep.jpg
, puis dans le fichier css dans les rails, vous devez écrirebackground: url('/assets/dep.jpg');
Vous n'avez pas à mettre l'image dans le dossier public de cette façon.
background: url('/assets/image_name.jpg');
Cela a fonctionné pour moi dans les Rails 4.0
Vous pouvez utiliser un chemin absolu pour assurer:
public
comme le basefolder, vous ne pensez pas, même s'il ne s'appliquer l'absoulte chemin il l'habitude de travailler, à moins que & jusqu'à ce que le fichier est reachead par le serveur web par une étrange tweak?Si vous utilisez une version moderne de rails (3.1 ou plus tard, je crois), vous pouvez utiliser:
Depuis le css vit également dans votre dossier des actifs
..
automatiquement renvoie le dossier assets.