如何在我的资产管道中存根jquery?

时间:2012-08-26 16:53:35

标签: ruby-on-rails asset-pipeline sprockets

我正在使用Rails 3.2和jquery-ui-rails插件将datepicker添加到我的JS清单文件中。

这是我的清单文件:

//= require jquery_ujs
//= require jquery.ui.datepicker
//= require_tree .

我将jQuery库与Google的CDN分开。

但是,通过将jquery.ui添加到清单文件中,它会自动包含其jQuery依赖项 - 所以现在我最终在最终的HTML文档中使用了两个jQuery。

我不想要这个额外的jQuery文件 - 我只想要谷歌的CDN。使用sprockets,我可以使用stub指令有选择地“排除”jQuery文件。

所以这就是我所做的 - 而且它不起作用 - 即jQuery仍然被添加到我的最终JS文件中......

//= stub jquery
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require_tree .

我尝试了几种组合:

//= stub jquery.js

//= stub "jquery"

//= stub "jquery.js"

//= stub "/jquery.js"
等等......

但这些都不起作用。我无法在任何地方找到一个如何工作的例子。顺便说一下,我也试过了

//= stub jquery_ujs

其中没有发布jquery_ujs库...

2 个答案:

答案 0 :(得分:3)

我认为它不起作用的原因是Rails 3.2.x只使用sprockets v2.1。但是,存根仅适用于链轮> = 2.2。您可以尝试手动更新链轮(分叉动作包)。

答案 1 :(得分:0)

你可以随时取出jquery_ujs文件,将其扔进vendor/javascripts,从你的Gemfile中删除jquery-rails行,然后在你的清单中包含那些被出售的js。