2012-03-01 16 views
1

へのjavascriptの変数を置く方法を - 私はそれをこのように実行します。のRails 3、HAML、Javascriptを - 私はすでにアップロードされてどのように大きな画像の一部で、チェック画像のアップロード、持つ部分

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;"} 
    ... 

をと私はもともと、私はERBでプロジェクトを持っていたし、今で部分的なファイルのレンダリングされた場所、にこのファイルの内容だったエラーに

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

を取得しています - しかし、今、私はHAMLにプロジェクトを変換し、 "進行状況バー"を表示するコードは、コードを部分ファイルに移動しましたが、現在はこのエラー...

この問題を解決する方法はありますか?ありがとう

+0

これはRubyエラーです。これはjavascriptとは関係ありません。 – kirilloid

答えて

3

あなたの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}))}'); 
    }); 
    ... 
関連する問題