我试图在我的 Rails 应用程序中添加一个 javascript-plugin 砌体,并想知道为什么它只适用于我的欢迎控制器 (localhost:3000/) 而不适用于其他控制器,如 localhost:3000/projects/1,虽然我是使用完全相同的代码。
我收到此错误:
获取 localhost:3000/projects/assets/jquery.masonry.js 404(未找到)
和
未捕获的类型错误:对象 [对象对象] 没有方法“砌体”
(匿名函数)
e.resolveWith jquery.min.js
e.extend.ready jquery.min.js
c.addEventListener.z
我假设我收到错误是因为路径错误 localhost/projects/assets 而不是 localhost/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>
谢谢你的帮助!