【发布时间】:2012-04-17 21:56:11
【问题描述】:
所以我最近刚刚将一个大型项目升级到 Rails 3.1。我已经建立了资产管道并开始工作。然而,我们使用的许多插件和我们编写的自定义 jQuery 函数似乎都没有得到评估,尽管源代码在 application.js 中。例如:
(function($) {
$.fn.searchable = function() {
....
}
})( jQuery );
我在 application.js 中看到了这段代码,但是任何试图使用它的东西都会得到一个 javascript 错误,未定义的函数。但是,如果我将整个内容包装在一个函数定义中,并在准备好文档时调用该函数,那么它就可以工作了。
这是一个非常丑陋的解决方法。有什么想法为什么不包装在函数中就无法工作?
谢谢。
【问题讨论】:
-
哦,痛苦!我最近(6 个月前)将两个大型 2.3.8 应用程序升级到 3.[1|2]。我记得同样的问题。我希望我能记住我所经历的所有细节,但我不记得(我太老了!)。我记得有一次,出于沮丧,我预编译了开发中的资产。我只记得这是打破日志堵塞的关键,它以某种方式揭示了最终的答案,(对于我的很多具体案例)。似乎反直觉!希望我能提供更多帮助!祝你好运!
标签: ruby-on-rails jquery-plugins ruby-on-rails-3.1