我有一个非常愚蠢的问题......
我开始使用RoR进行冒险,使用jquery时遇到了一些问题。当我试图添加一些jQuery" magic"它对我的项目来说根本不起作用。我还没有为jQuery安装任何Gems,因为在application.js中已经有了一行: // =需要jquery
如果需要Gem我应该使用哪种?我在RubyGems.org中看到了很多这样的东西。我使用的是最新版本的Rails。
答案 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/