我是否必须安装Gem for jquery才能使用Rails?

时间:2016-12-21 21:05:56

标签: jquery ruby-on-rails rubygems

我有一个非常愚蠢的问题......

我开始使用RoR进行冒险,使用jquery时遇到了一些问题。当我试图添加一些jQuery" magic"它对我的项目来说根本不起作用。我还没有为jQuery安装任何Gems,因为在application.js中已经有了一行: // =需要jquery

如果需要Gem我应该使用哪种?我在RubyGems.org中看到了很多这样的东西。我使用的是最新版本的Rails。

2 个答案:

答案 0 :(得分:0)

简短的回答是否定的。

如果您更喜欢使用宝石jquery-rails,这是一个不错的选择。

Rails使用资产管道加载您的javascript文件。从本质上讲,它只是将所有js文件编译成一个缩小的文件并将其包含在标题中。

application.html.erb是加载它的地方。你应该看到这样的东西(不记得它究竟是什么)<%= javascript_include_tag "application"%>。这会加载您提到的文件application.js文件。

要使用jQuery,您只需将所需的任何版本下载到/public目录中,并将其包含在application.js文件中。 (可能还需要在application.rb中指定它,不记得确切..)以下是Rails Asset Pipeline的详细文档

另一个选择是,通过在<script>文件中添加application.html.erb标记从CDN加载jQuery。

答案 1 :(得分:-1)

要确保包含您的jquery,请打开Web控制台并尝试键入$并按Enter键。你应该看到弹出的jQuery函数定义。如果它没有,你的问题是你如何包括你的图书馆(无论它是否是宝石)

接下来要做的是在任何一个js.coffee文件中创建一个函数,如下所示: $(document).ready(function(){ console.log('works'); });

其原因是涡轮锁定。

有关此处的更多信息:http://karimbutt.github.io/blog/2014/12/11/making-turbolinks-and-jquery-co-exist-in-a-rails-app/