0

私はRails 3.2.6を使用していて、 Rails S3 Fancy Uploaderを統合しようとしています.prototype、jquery、およびmootoolsを同時に使用している方法、または単に新しいバージョンのRailsに移行しているだけで、おそらく誤解されていると思います. .

アセット パイプラインをインクルードした直後に、非競合モードの jQuery を取得しました(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

「FancyUploader」の作成に必要なスクリプトで mootools とプロトタイプを使用できないようです


このプロジェクトはRails 3.0.7で問題なく動作し、パブリック フォルダーにアセットがあり、ソースにhamlテンプレート エンジンがあります (私は erb を使用していますが、これは JS の問題だと思います) 。著者のインクルードで参照されているようです??

= javascript_include_tag( 'mootools.js', 
                              'fancyupload/source/Fx.ProgressBar',
                              'fancyupload/source/Swiff.Uploader', 
                              'fancyupload/source/FancyUpload3.Attach', 
                              'fancyupload/source/FancyUpload3.S3Uploader' ) 
4

2 に答える 2