0

Railsアセットを介して、 danial-farid--angular-file-uploadライブラリをRails 4アプリに追加しました。メイン ライブラリは正常に読み込まれますが、ファイル アップロードの進行状況に含まれる shims ファイルがスプロケットで見つかりません。angular-file-upload.jsこれは、shims ファイルがメインスクリプトと同じディレクトリにないためだと思います。それが問題である可能性がありますか、それとも問題の場所を間違って探していますか?

詳細:

githubのホームページによると:

<!-- shim is needed to support upload progress/abort for HTML5 and non-HTML5 FormData browsers.-->

宝石ファイルで:

gem 'rails-assets-danialfarid--angular-file-upload'

application.js で:

//= require angular-file-upload-shim
//= require angular
//= require angular-resource
//= require angular-ui-bootstrap-tpls
//= require angular-ui-router
//= require angular-file-upload

これはSprockets::FileNotFoundエラーを生成します:

couldn't find file 'angular-file-upload-shim'

上記の最初の require を削除すると、アセット パイプラインは他のすべてを正常にロードしますが、shims ファイルに依存するものを壊します。

gems ディレクトリを grep すると、次のことがわかります。

rails-assets-danialfarid--angular-file-upload-1.4.0/vendor/assets/javascripts/angular-file-upload
rails-assets-danialfarid--angular-file-upload-1.4.0/vendor/assets/javascripts/angular-file-upload/angular-file-upload-shim.js
rails-assets-danialfarid--angular-file-upload-1.4.0/vendor/assets/javascripts/angular-file-upload/FileAPI.min.js
rails-assets-danialfarid--angular-file-upload-1.4.0/vendor/assets/javascripts/angular-file-upload/angular-file-upload.js
rails-assets-danialfarid--angular-file-upload-1.4.0/vendor/assets/javascripts/angular-file-upload/angular-file-upload-html5-shim.js
rails-assets-danialfarid--angular-file-upload-1.4.0/vendor/assets/javascripts/angular-file-upload.js

ファイルがそのフォルダーのサブディレクトリにあるときangular-file-upload.jsに、gem のvendor/assets/javascripts ディレクトリに があることがわかります。angular-file-upload-shim.jsアセット パイプラインを壊すにはそれで十分でしょうか?

4

1 に答える 1

2

おそらくサブディレクトリを追加する必要があります。すなわち

//= require angular-file-upload/angular-file-upload-shim
于 2014-05-27T17:44:59.823 に答える