私は自分のアプリでajax jquery fileuploadを動作させることができません.Ryan Bateの実装をベースにしています.Carrierwave http://railscasts.com/episodes/381-jquery-ファイルアップロード
コンソールにエラーが表示されます: ReferenceError: ファイルが定義されていません
役立つ場合は、エアブレーキからのバックトレースを次に示します。
url/assets/styleitems.js?body=1:6 in "HTMLFormElement.$.fileupload.add"
url/assets/jquery-fileupload/vendor/jquery.ui.widget.js?body=1:490 in "$.Widget._trigger"
url/assets/jquery-fileupload/jquery.fileupload.js?body=1:815 in "File.<anonymous>"
url/assets/jquery.js?body=1:385 in "Function.jQuery.extend.each"
url/assets/jquery-fileupload/jquery.fileupload.js?body=1:805 in "$.widget._onAdd"
url/assets/jquery-fileupload/vendor/jquery.ui.widget.js?body=1:106 in "null._onAdd"
url/assets/jquery-fileupload/jquery.fileupload.js?body=1:985 in "Object.<anonymous>"
url/assets/jquery.js?body=1:3100 in "fire"
url/assets/jquery.js?body=1:3146 in "Object.self.add"
url/assets/airbrake_shim.js?body=1:77 in "Object.cb.add"
私のアプリケーションコントローラーには、他のファイルがあります:
//= require jquery-fileupload/basic
//= require jquery-fileupload/vendor/tmpl
jquery-fileupload-rails gemもインストールしています
js.coffee ファイル:
$ ->
$('#new_styleitem').fileupload
dataType: "script"
add: (e, data) ->
data.context = $(tmpl("template-upload", file))
$('#new_styleitem').append(data.context)
data.submit()
progress: (e, data) ->
if data.context
progress = parseInt(data.loaded / data.total * 100, 10)
data.context.find('.bar').css('width', progress + '%')
形:
= form_for([@class_object, Styleitem.new], html: {multipart: true}) do |f|
= f.text_field :styleable_type, type: :hidden, value: @class_object.class.to_s
= f.number_field :styleable_id, type: :hidden, value: @class_object.id
= f.number_field :user_id, type: :hidden, value: authority_user.id
= f.file_field :asset, multiple: true, name: "styleitem[asset]"
= render partial: 'layouts/drag_and_drop'
layouts/drag_and_drop の内容
%script{id: "template-upload", type: "text/x-tmpl"}
.upload
.progress
.bar{style: "width: 0%"}
私が間違っていることはありますか?