OBTENEZ de l'http://localhost:3000/projects/assets/jquery.masonry.js 404 (Non Trouvé)
J'ai essayé d'ajouter un javascript plugin de maçonnerie à mon application rails, et je me demandais pourquoi il ne fonctionne que pour ma bienvenue contrôleur (localhost:3000/) mais pas pour les autres contrôleurs de localhost:3000/projets/1, même si je suis en utilisant exactement le code identique.
J'obtiens cette erreur:
OBTENIR localhost:3000/projects/assets/jquery.masonry.js 404 (Non Trouvé)
et
Uncaught TypeError: Object [object object] n'a pas de méthode 'maçonnerie'
(fonction anonyme)
e.resolveWith jquery.min.js
e.prolonger.prêt jquery.min.js
c.la méthode addEventListener.z
J'asume je reçois le message d'erreur en raison de la mauvaise voie localhost/projets/actifs au lieu de localhost/actifs, mais je ne pouvais pas trouver comment résoudre ce problème.
Toute aide serait la bienvenue!
C'est le code dans la vue:
<% content_for(:scripts) do %>
<script type="text/javascript">
$(function(){
$('.squarescontainer').masonry({
//options
itemSelector : '.item',
isAnimated: true
});
});
</script>
<% end %>
et c'est mon application.rb:
<!DOCTYPE html>
<html>
<head>
<title>ifub</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow&v1">
<link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=Oswald">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src = "assets/jquery.masonry.js"></script>
<script src = "assets/jquery.masonry.min.js"></script>
<%= yield(:head) %>
</head>
<body>
<%= render 'layouts/logo' %>
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
<div class="frame">
<div class="container">
<%= yield %>
<%= yield :scripts %>
</div>
</div>
</body>
</html>
Merci pour votre aide!
Vous devez vous connecter pour publier un commentaire.
Vous utilisez des URL par rapport au chemin, donc si votre page est
localhost:3000/project/page.html
, JS url seralocalhost:3000/project/assets/...
. Essayez de changer votre code comme ceci:voir "/" avant actifs. Dans ce cas, le navigateur va charger le script relativement à la racine du site.
Dans ce cas, même si votre page est
localhost:3000/project/page.html
, JS URL seront toujourslocalhost:3000/assets/...
En outre, vous devez vous connecter une seule version d'un plugin - réduit ou pas