1

我在我的 rails 应用程序中运行 js/jquery 时遇到问题。我安装了 Ruby 1.9.3 和 Rails 3.2.3。

我在 /app/assets/javascripts 中有两个 js 文件:

application.js
main.js

我创建了这个 main.js。里面有这段代码

$(document).ready(function() {
    alert('Hello world!');
});

我的 application.js 有以下内容:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require main.js

当我打开我的应用程序时,没有弹出警告消息!

打开源代码,我看到了所有的 js 文件:

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/main.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

我做错了什么???

4

4 回答 4

1
//= require_tree .

应该始终是 application.js 文件中的最后一行

$(document).ready(function() {
    alert('Hello world!');
})

也不需要最后一个分号

于 2012-05-09T14:38:43.413 回答
0

好吧,伙计们,我犯了一个错误。出于抽象目的,我提供了有关我的 js 文件名称的虚假信息。my 的原始名称是 advert.js,无论出于何种原因,它都没有作为 js 执行。我记得我在这个项目中使用了 advert.css,而且它也没有被 rails 识别为 css,即使它被加载了。我将那个 advert.css 重命名为 popup.css 并且它起作用了,所以现在我的 advert.js 也起作用了。将其重命名为 popup.js 并且可以正常工作!

于 2012-05-10T15:15:22.863 回答
0

尝试在main.js的顶部写alert($);或。console.log($);

$未定义的吗?

于 2012-05-09T18:31:35.000 回答
0

根据您的帖子, jQuery.jsjquery_ujs.js不在您的资产文件夹中

于 2012-05-09T15:06:47.877 回答