Javascript jquery未在外部js文件中与rails一起运行

Javascript jquery未在外部js文件中与rails一起运行,javascript,jquery,html,ruby-on-rails,Javascript,Jquery,Html,Ruby On Rails,我正在使用rails并尝试调用外部js文件中的jquery代码,我在html文件中正确指定了该文件的路径。当我将jquery代码直接包含在html文件中时,jquery代码正在正确执行。 我的test.js $(function(){ alert("yes"); }); 和index.html.erb: <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"&

我正在使用rails并尝试调用外部js文件中的jquery代码,我在html文件中正确指定了该文件的路径。当我将jquery代码直接包含在html文件中时,jquery代码正在正确执行。 我的test.js

$(function(){

alert("yes");
});
和index.html.erb:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="/assets/javascripts/views/test.js"></script>

</head>

jquery包含在html中时执行

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){

alert("yes");
});
</script>
</head>

$(函数(){
警惕(“是”);
});
test.js路径是正确的,因为其他javascript函数是从同一个文件调用的,而不是从jquery代码调用的

像这样试试

在index.html中

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="/assets/javascripts/views/test.js"></script>

</head>
像这样,只需导入html本身中的所有插件,并创建fresh.js页面来编写自己的脚本


我希望这会有所帮助。

为什么在index.html.erb文件中有head标记。它已包含在layout/application.html.erb文件中。通过这种方式,您将包含jquery文件两次。如果在任何html中包含两个版本的jquery,它们总是会产生问题

在我的建议中,您需要从索引文件中完全删除头标记。以及您想要包含的js文件,请将其包含在application.js文件中。对于当前场景,您可以像下面这样做

//= require views/test

请尝试在application.js中包含此文件。这是导致问题的原因之一。非常感谢。
//= require views/test