Ruby on rails 在wicked_pdf中显示签名板-Rails

Ruby on rails 在wicked_pdf中显示签名板-Rails,ruby-on-rails,wicked-pdf,Ruby On Rails,Wicked Pdf,在Rails中,我正确地设置了一个视图,使用 我现在想生成一个显示签名的pdf。签名是json,在我的postgresql数据库中保存为字符串,如前所述,它将在html视图中生成,问题是在pdf中生成 我相信我已经为wicked_pdf正确地包括了必要的资产: <%= wicked_pdf_stylesheet_link_tag "application" %> <%= wicked_pdf_javascript_include_tag "application" %>

在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>

函数draw_签名(){
var sig=$('#signature').val();
if(typeof(sig)!=“undefined”| | sig!=null)
{
$('.sigPad').signaturePad({displayOnly:true})。重新生成(sig);
}
}
“签名”)%%>

我能够让您的上述示例使用gem版本:
wicked\u pdf(1.0.6)

修改include标记以引用最新的Jquery CDN,以及
供应商/资产
目录中提供的Jquery签名库

请参阅以下工作代码:

<%= 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>

$(文档).ready(函数(){
var signature=$('#signature').val();
if(typeof(signature)!=“未定义”&&signature!=null&&signature!=”)
{
$('.sigPad').signaturePad({displayOnly:true})。重新生成(签名);
}
});
“签名”)%%>
Jquery签名库也包含在资产预编译列表中,可作为单个资产使用:

config/initializers/assets.rb

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

您找到问题的解决方案了吗?我也面临同样的问题,我记不起对不起。这是从一个旧的应用程序,我不再使用,它将需要一些时间来设置正确的测试。我刚刚检查了代码,它与我上面粘贴的代码完全相同。如果你能找到答案,请把答案贴在这里,我会接受的。谢谢