在rails 3.1升级后,jQuery插件/函数无法加载

时间:2012-04-17 21:56:12

标签: ruby-on-rails jquery-plugins ruby-on-rails-3.1

所以我最近刚刚将一个大型项目升级到rails 3.1。我已经建立并运行了资产管道。但是,我们使用的很多插件和我们编写的自定义jQuery函数似乎都没有得到评估,尽管源代码在application.js中。例如:

   (function($) {
     $.fn.searchable = function() {
        ....
     }
   })( jQuery );

我在application.js中看到了这段代码,但是任何试图使用它的东西都会出现javascript错误,未定义的函数。但是,如果我将整个事物包装在一个函数定义中,并在文档就绪上调用该函数,那么它就可以工作。

这是一个非常难看的解决方法。任何想法为什么没有包装在一个函数中它不工作?

感谢。

1 个答案:

答案 0 :(得分:0)

也许你应该看一下'coffeescript's namescope'。 e.g。

//define your js function as: 
this.some_function_name()  => 
  alert('hello~')

//call it as:
this.some_function_name()