2014-05-05 57 views
3

在Rails我已經正確設置的圖使用Signature Pad顯示在wicked_pdf簽名板 - 的Rails

我現在想產生一個pdf顯示所述簽名來顯示捕獲的簽名。簽名是json在我的postgresql數據庫中保存爲一個字符串,並提到它會在html視圖中生成罰款,問題是在pdf中生成。

我相信我已經正確地包括了必要的資產wicked_pdf:

<%= wicked_pdf_stylesheet_link_tag "application" %> 
<%= wicked_pdf_javascript_include_tag "application" %> 

我也試圖加入JS直接在PDF查看:

<head> 
    <script> 
    function draw_signature() { 
     var sig = $('#signature').val(); 
     if (typeof(sig) != 'undefined' || sig != null) 
     { 
     $('.sigPad').signaturePad({displayOnly:true}).regenerate(sig); 
     } 
    } 
    </script> 
</head> 
<body onload="draw_signature()"> 
    <%= hidden_field_tag("signature", @customer.signature, :id => "signature") %> 
    <div class="sigPad signed"> 
     <canvas class="pad" width="400" height="140"></canvas> 
    </div> 
+0

你有沒有爲您的問題找到解決方案?我面臨同樣的問題。 – PSCampbell

+0

我不記得對不起。這是從一箇舊的應用程序,我不再使用,它​​需要一些時間才能正確地設置它來測試。我只是檢查了代碼,它與我上面粘貼的內容完全相同。請在這裏發佈答案,如果你知道,我會接受它。謝謝。 – Marklar

回答

2

我能得到你的上面的例子使用寶石版本: wicked_pdf (1.0.6)

修改包含標記以引用最新的Jquery CDN,也是Jquery簽名庫在vendor/assets目錄中提供。

請參閱下面的工作代碼:

<%= wicked_pdf_javascript_include_tag "https://code.jquery.com/jquery-3.1.1.min.js" %> 
<%= wicked_pdf_javascript_include_tag "jquery.signaturepad.min" %> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var signature = $('#signature').val(); 
    if (typeof(signature) != 'undefined' && signature != null && signature != "") 
    { 
     $('.sigPad').signaturePad({displayOnly:true}).regenerate(signature); 
    } 
}); 
</script> 


<body> 
    <%= hidden_field_tag("signature", @customer.signature, :id => "signature") %> 
    <div class="sigPad signed"> 
     <canvas class="pad" width="400" height="140"></canvas> 
    </div> 
</body> 

jQuery的特徵庫也包括在資產預編譯上市將提供作爲個人資產:

config/initializers/assets.rb Rails.application.config.assets.precompile += ['jquery.signaturepad.min.js']