【发布时间】:2012-07-10 17:11:07
【问题描述】:
我正在使用 Rails 3.2.6 并尝试集成 Rails S3 Fancy uploader,我认为这可能是对我如何同时使用原型、jquery 和 mootools 的误解,或者只需将其迁移到更新版本的 rails 即可。
在包含资产管道 (prototype.js 和 mootools.js 库位于 /assets/javascript 文件夹中,以及“fancyuploader”的所有源文件类似关于 /public 文件夹在 github 存储库中的定位方式):
<%= javascript_include_tag "application" %>
<script type="text/JavaScript>
jQuery.noConflict();
</script>
但是,我仍然收到很多未定义的错误,我认为这与资产加载到页面上的顺序有关。
Uncaught TypeError: Object [object Window] has no method 'addEvent' script.js:10
Uncaught TypeError: Object [object Window] has no method 'addEvent' script.js:10
Uncaught ReferenceError: Class is not defined FancyUpload2.js:15
Uncaught ReferenceError: Class is not defined FancyUpload3.Attach.js:15
Uncaught ReferenceError: Class is not defined FancyUpload3.S3Uploader.js:27
Uncaught ReferenceError: Fx is not defined Fx.ProgressBar.js:13
Uncaught ReferenceError: Swiff is not defined Swiff.Uploader.js:14
Uncaught ReferenceError: Class is not defined Uploader.js:13
Uncaught TypeError: Cannot read property '0' of undefined prototype.js:6719
看起来 mootools 和原型不适用于创建“FancyUploader”所需的脚本
该项目在 Rails 3.0.7 中运行良好,资源位于 public 文件夹 中,haml 模板引擎位于源代码中(我正在使用 erb,但我认为这是一个 JS 问题),但是,我也注意到 prototype 在作者包括中似乎没有被引用?
= javascript_include_tag( 'mootools.js',
'fancyupload/source/Fx.ProgressBar',
'fancyupload/source/Swiff.Uploader',
'fancyupload/source/FancyUpload3.Attach',
'fancyupload/source/FancyUpload3.S3Uploader' )
【问题讨论】:
标签: jquery ruby-on-rails prototypejs mootools fancyupload