4

Rails 3 アプリに問題があります。ビューにアップロードの進行状況バーを表示するスクリプトがあります (アップロード プロセスは機能します)。

<h1>Ajouter des images:</h1>

<%= form_for [:admin, :gallery,  @painting], html: { multipart: true} do |f| %>

  <%= f.hidden_field :gallery_id %>

  <%= f.label :image, "Upload paintings:" %>

  <%= f.file_field :image, multiple: true, name: "painting[image]" %>

<% end %>

<script id="template-upload" type="text/x-tmpl">
  <div class="upload">
    {%=o.name%}
    <div class="progress"><div class="bar" style="width: 0%"></div></div>
  </div>
</script>

しかし、ファイルをアップロードしようとすると、次のエラーが発生しました。

Uncaught Error: Syntax error, unrecognized expression: <div class="upload">
  Argentina.gif
  <div class="progress"><div class="bar" style="width: 0%"></div></div>
</div> 

jquery.js ファイルから次のようになります。

Sizzle.error = function( msg ) {
    throw new Error( "Syntax error, unrecognized expression: " + msg );

私はそれを修正する方法を本当に知りません、私はすでにたくさん探しました! ご協力いただきありがとうございます !

4

4 に答える 4

14

これは、テンプレート タグ内の ID が原因で発生しています。それをチェックしてください:jquery-htmlstring-versus-jquery-selectorstring

次を使用して回避できます$.parseHTML()

data.context = $($.parseHTML(tmpl("template-upload", file))[1])
于 2013-03-22T05:31:59.920 に答える
0

テンプレートを使用する場合は、Jquery 関数$( )を削除します。これは Jquery 1.9.1 と互換性があります。以下のようにテンプレートを処理する必要があります

tmpl("template-upload", {file: file, icon: icon_name[type]})

それ以外の

$(tmpl("template-upload", {file: file, icon: icon_name[type]}))
于 2013-03-07T08:13:02.000 に答える
0

jquery-file-upload には ruby​​ 1.9.x での互換性の問題があります。最近の修正がありましたhttps://github.com/blueimp/jQuery-File-Upload/pull/2031

他の人も同じ問題を抱えていました (私自身を含む) https://github.com/waynehoover/s3_direct_upload/issues/47

で gem を更新してみてくださいbundle update jquery-fileupload-rails。(私はあなたがその宝石を使用していると仮定します。)

于 2013-02-22T22:43:36.640 に答える
0

jqueryの最新バージョンを使用して、それに追加trilするとうまくいくはずです

$(tmpl("template-upload", {file: file, icon: icon_name[type]}).trim())
于 2013-05-15T18:14:54.087 に答える