Rails 4 Javascript: Avoir des ennuis avec les chemins des images
Je vais essayer d'obtenir l'image d'arrière-plan pour changer toutes les 6 secondes et c'est toujours une erreur 404:
Par exemple, le ci-dessous s'affiche dans le JS console
http://localhost:3000/app/assets/images/ggb_mist.png 404 (Not Found)
Pour simplifier, j'ai juste essayé un background-color
pour s'assurer qu'il travaillait. Voir ci-dessous:
$(document).ready(function() {
function testing() {
$('.holder').css('background-color', 'red');
};
});
Les travaux ci-dessus. Maintenant, quand j'essaie de faire la même chose avec une image (qui est situé dans app/assets/images/imagefilenamehere.png
je reçois toujours un message d'erreur 404. J'ai essayé:
filenamehere.png
../assets/images/filenamehere.png
../app/assets/images/filenamehere.png
../images/filenamehere.png
Pourquoi ne pas le dessous de travailler?
$('.holder').css({'backgroundImage':'../assets/images/filenamehere.png'});
Des commentaires sur la question est apprécié.
OriginalL'auteur DnfD | 2014-02-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
.erb
(embedded ruby) extension pour permettre à des rails de chemin de helpers dans votre.js
fichiers:1) Vous enregistrez votre fichier d'origine (
my_script.js
)my_script.js.erb
avec le chemin de l'image helper:Aussi, assurez-vous d'avoir votre asset pipeline configuré correctement:
Des Rails Asset Pipeline guide (http://guides.rubyonrails.org/asset_pipeline.html)
2) Votre fichier javascript (
my_script.js.erb
) est à l'intérieur:3) Votre fichier est référencé dans le manifeste (peut-être
app/assets/javascripts/application.js
):welcome.js.coffee
donc j'ai commenté le café, le gem et le fichierwelcome.js
. Maintenant, je l'ai changé pourwelcome.js.erb
et appliqué le jQuery ci-dessus. Monapplication.js
est en effet dansapp/assets/javascripts/
et//=require welcome
dansapplication.js
ne change rien. Pas d'erreur js console (je peux avoir une alerte de travail).Sweet eu: Voir ici la section 2.3.1 guides.rubyonrails.org/asset_pipeline.html . Upvote pour vous si, comme vous avez raison sur le fond.
OriginalL'auteur Jaron Gao
Cela a résolu mon problème: La Section 2.3.1 de guides.rubyonrails.org/asset_pipeline.html
Noter que
tree-rays.jpg
est dans app/assets/images (Rails 4 Application).c'est la meilleure solution, mais je pense que vous ne pouvez pas utiliser asset_path .fichier js.. si ce sujet?
OriginalL'auteur DnfD