簡體   English   中英

Rails 3,Haml,Javascript - 如何將javascript的變量放入局部

[英]Rails 3, Haml, Javascript - how to put javascript's variable into a partial

我有圖片上傳,可以在其中檢查圖片的大部分已經上傳-我是這樣進行的:

jQuery - displaying progress bar
---
   uploader.bind('FilesAdded', function(up, files) {    
      $.each(files, function(i, file) {
        $('#filelist').append('#{escape_javascript(render(:partial => "form", :locals => {:file_id => file.id}))}');
      });

      up.refresh();
      uploader.start();
    });

    uploader.bind('UploadProgress', function(up, file) {  
      $('#'+file.id).find('strong').html('<span>' + file.percent + "%</span>");
      $('#'+file.id).find('.bar').css('width',file.percent+"%");
    });


form.html.haml
---
#form_data
  %div{:id => file_id, :style => "width:330px;"}
  ...

我收到了錯誤

undefined local variable or method `file' for #<#<Class:0x0000010161c0b8>:0x0000012a3b1f20>

最初,我在ERB和地方有項目,現在渲染部分文件是這個文件的內容 - 但現在我將項目轉換為HAML,顯示“進度條”的代碼將代碼移動到部分文件,但現在我收到此錯誤...

任何人都可以幫助我,如何解決這個問題? 謝謝

看起來你正試圖在你的HAML文件中包含javascript。 如果是這樣,則應在部分代碼中使用:javascript HAML過濾器http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#javascript-filter

:javascript
  uploader.bind('FilesAdded', function(up, files) {    
  $.each(files, function(i, file) {
    $('#filelist').append('#{escape_javascript(render(:partial => "form", :locals => {:file_id => file.id}))}');
  });
  ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM