9

我刚刚完成了Code School关于 JQuery 的入门课程jQuery Air: First Flight。这是学习 jQuery 基础知识的好方法,当我完成后,我对在我的新的小 rails 3.2 应用程序中添加一些 jQuery 感到非常兴奋。但是,如何实现这一点并不明显。

默认情况下,rails 3.2 带有 jquery-rails 和 coffee-rails gems。新的 3.2 应用程序都以咖啡脚本的形式设置接受 javascript 和 jquery。虽然我很快就会学习咖啡脚本,但现在我所拥有的只是 jquery。

更具体地说,我应该添加类似的内容:

<script type="text/javasript" src= "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

进入我的app/views/layouts/application.html.erb文件的头部,或者是 jquery-rails gem 和

<%= javascript_include_tag "application" %>

已经在那了?

在我的应用程序中,我应该将 jQuery 代码放在哪里?对于我生成的每个新控制器,rails 3.2 都会在目录中创建一个不错[new_controller].js.coffee的文件app/assets/javascripts/.coffee如果我把它放在那个文件中,Javascript 就不起作用。有人有什么想法吗?

4

3 回答 3

11

在进行了试验并与Code School的好人通信后,我想出了以下答案,其他人可能会觉得有用:

Rails 3.2 应用程序已准备好接受咖啡脚本。事实上,每个新控制器都会自动生成一个 [new_controller].js.coffee 文件,准备好接受一个新的咖啡脚本。虽然我很快就会接触到coffeescript,刚刚完成JQuery Air: First Flight,我只知道jQuery。

以下是使用默认资产管道设置将 jQuery 添加到 Rails 3.2 应用程序需要做的事情:

1) 放入javascript_include_tag(:application)文件中 app/views/layouts/application.html.erb。Code School 的 Adam Fortuna 指出,通常将该行放在页脚中,这听起来是个好建议。这可能允许页面的其余部分在 javascript 之前加载。

2)在“app/assets/javascripts/”目录中创建一个后缀.js为user.js的新文件。注意:不要将您的 jQuery 文件命名为与自动创建的.js.coffee文件相同的名称,否则它不会被读取,可能是因为只有咖啡脚本文件才会被读取。

3) 将您的 jQuery javascript 添加到该文件中,让您心满意足!它已经是 3.2 应用程序的一部分,包含在jquery-railsgem 中。

如果其他人对在 rails 3.2 应用程序中使用 jquery 和 javascript 而不是咖啡脚本有深入了解,请添加。也就是说,我的下一步是学习咖啡脚本!

于 2012-07-07T14:38:11.827 回答
1

你不需要做任何事情。默认情况下,Rails 会为您提供 jquery。如果您的文件扩展名不是咖啡,那么您将不需要使用咖啡脚本。

您可以阅读本文以更好地了解魔术。

如果你必须添加你自己的,你可以这样写:

<%= javascript_include_tag "http://example.com/main.js" %>

阅读本文以了解 javascript_include_tag 的工作原理。

于 2012-07-07T14:33:40.447 回答
0

确保这是 application.js 或 application.js.coffee 的顶部,如果你安装了gem //= require jquery,你应该很好。jquery-rails

于 2012-07-07T14:34:03.490 回答