jquery没有在外部js文件中使用rails运行

时间:2014-08-16 10:38:09

标签: javascript jquery html ruby-on-rails

我正在使用rails并尝试调用外部js文件中存在的jquery代码,其路径我已在我的html文件中正确指定。当我直接将其包含在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代码

2 个答案:

答案 0 :(得分:0)

@ user3946910

试试这样。

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>

并在test.js文件中添加此内容。

$(document).ready(function(){
alert("yes");
});

像这样只需导入html本身的所有插件,并创建新的.js页面来编写自己的脚本。

我希望它会有所帮助。

答案 1 :(得分:0)

为什么你在index.html.erb文件中有头标记。它已包含在layout / application.html.erb文件中。这样你就可以两次包含jquery文件了。如果在任何html中包含两个版本的jquery,它们总是会产生问题。

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

//= require views/test