Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Rails中正确使用/包含javascript_Javascript_Ruby On Rails_Html - Fatal编程技术网

在Rails中正确使用/包含javascript

在Rails中正确使用/包含javascript,javascript,ruby-on-rails,html,Javascript,Ruby On Rails,Html,我是我的application.js文件,我有: //= require jquery //= require jquery_ujs //= require bootstrap //= require_tree . 这是否意味着我的应用程序正在导入jquery?我有点搞不清楚这到底是怎么回事。在我的gem文件中,我有gem'jqueryrails' 我认为我有以下几点: <%= stylesheet_link_tag "application", :media => "a

我是我的application.js文件,我有:

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree .
这是否意味着我的应用程序正在导入jquery?我有点搞不清楚这到底是怎么回事。在我的gem文件中,我有
gem'jqueryrails'

我认为我有以下几点:

  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
  <%= render 'layouts/shim' %>
“全部”%>
我相信“javascript_include_tag'application'”包含“/=require…”行,对吗


现在,如果我想添加一个“jquery插件”,特别是导航栏,说明中说要包括
“在我的
下面。问题是我并没有在任何地方明确声明这个脚本。从技术上讲,我是不是没有使用jquery,因为我在任何地方都没有jquery?文档似乎说javascript_include_标记可以为我做到这一点,但我不能确切地说出它在做什么。伙计,要学的东西太多了,要弄明白的东西太多了。非常尊敬所有了解这项技术的人。谢谢你的帮助

是否包括jquery?

/=requirejquery
将包含jquery rails插件中的jquery.js文件。因此,jquery已经包含在html中

如果您对此有疑问,请在应用程序中打开一个页面(在开发模式下运行)并查看html源代码,在那里您将看到包含的所有Java脚本。(在生产模式下,出于性能原因,所有javascript文件将浓缩并缩小为一个文件-application.js。)

如何添加特定的新jquery插件?


下载js文件(jquery.sticky.js)。将其放在/app/assets/js文件夹中。您的
/=require_树。
将包括/app/assets/js及其子文件夹中的所有文件。因此,您的新插件将自动包含。

建议在
供应商/assets/javascripts
中使用第三方插件。app/中的东西就是你构建/修改的。太棒了。谢谢你的回复。当我将插件添加到我的资产目录中时,我是否需要将其包含在html中,还是通过目录树将其包含?我假设后者。。。再次感谢。它将通过目录树包含。@Dave的一个好观点是,您应该将js文件放在vendor/assets/javascripts中,然后在application.js文件中添加//=require jquery.sticky。就像树一样。将仅包括app/assets/js中的所有文件