所以我最近刚刚将一个大型项目升级到 Rails 3.1。我已经建立了资产管道并开始工作。然而,我们使用的许多插件和我们编写的自定义 jQuery 函数似乎都没有得到评估,尽管源代码在 application.js 中。例如:
(function($) {
$.fn.searchable = function() {
....
}
})( jQuery );
我在 application.js 中看到了这段代码,但是任何试图使用它的东西都会得到一个 javascript 错误,未定义的函数。但是,如果我将整个内容包装在一个函数定义中,并在准备好文档时调用该函数,那么它就可以工作。
这是一个非常丑陋的解决方法。有什么想法为什么不包装在函数中就不能工作?
谢谢。