javascript-plugin masonry を Rails アプリに追加しようとしていましたが、なぜそれが私のウェルカム コントローラー (localhost:3000/) でのみ機能し、localhost:3000/projects/1 などの他のコントローラーでは機能しないのか疑問に思っていました。まったく同じコードを使用します。
次のエラーが表示されます。
ローカルホストを取得:3000/projects/assets/jquery.masonry.js 404 (見つかりません)
と
キャッチされていない TypeError: オブジェクト [オブジェクト オブジェクト] にメソッド 'masonry' がありません
(匿名関数)
e.resolveWith jquery.min.js
e.extend.ready jquery.min.js
c.addEventListener.z
localhost/assets ではなく localhost/projects/assets のパスが間違っているためにエラーが発生したと思いますが、これを修正する方法がわかりませんでした。どんな助けでも大歓迎です!
ビュー内のコードは次のとおりです。
<% content_for(:scripts) do %>
<script type="text/javascript">
$(function(){
$('.squarescontainer').masonry({
// options
itemSelector : '.item',
isAnimated: true
});
});
</script>
<% end %>
これは私の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>
ご協力いただきありがとうございます!