Javascript 运行rake资产预编译后,在not函数中未定义
该应用程序丰富的javascript,包含大量backbonejs类、jquery、bootstrap和许多库 没有预编译,一切都很好。然而,当我在本地或生产服务器上运行rake资产:precompile时,问题就出现了Javascript 运行rake资产预编译后,在not函数中未定义,javascript,ruby-on-rails,ruby,assets,precompile,Javascript,Ruby On Rails,Ruby,Assets,Precompile,该应用程序丰富的javascript,包含大量backbonejs类、jquery、bootstrap和许多库 没有预编译,一切都很好。然而,当我在本地或生产服务器上运行rake资产:precompile时,问题就出现了 Uncaught TypeError: undefined is not a function application.js:8 application.js包含所有内容(只是第一眼),所以我不知道哪里会有问题。甚至我都不知道从哪里开始寻找问
Uncaught TypeError: undefined is not a function application.js:8
application.js包含所有内容(只是第一眼),所以我不知道哪里会有问题。甚至我都不知道从哪里开始寻找问题。
在application.js中调试输出javasript是不可能的,对吗
有什么想法吗?谢谢各位。你们可能是把文件按顺序连接起来了。确保以正确的顺序加载所有依赖项。下划线必须在主干线之前加载。经过几个小时的调试,我发现哪里出了问题 PostsRouter是代码中路由器的名称,当它被预编译时,类的名称被更改为“n”,这是错误的,因为在构造函数中我有下面的代码
this.constructor.toString().match(/function\s*(\w+)/)
所以我得到了错误的类名,但仍然可以。然后我就这样做了:
new App.Collections["" + this.class_name + "Collection"]
这就是问题所在。App.Collections.nCollection不存在,正确名称为App.Collections.PostsCollection
我通过在类定义中添加字符串文字来修复它,而不是从构造函数名称进行解析
祝你今天愉快 秩序看起来没问题。在开发过程中没有问题,application.js中的顺序指定正确。您能链接到application.js第8行中的内容吗?只需要前几行就可以了。