![](/img/trans.png)
[英]How to pass javascript variables to a partial as locals ? Rails 4 + Haml
[英]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.