use*_*896 1 ruby qr-code ruby-on-rails
我的问题是让我的QRCode显示在通过rails中的动作邮件发送的电子邮件中.我目前正在使用gem'rqrcode_png'
我已阅读了一些指南,并说明了内联附件.但是,我没有保存在我自己的文件中生成的QRCode.
有没有办法在电子邮件中显示QRCode而无需将其保存在我的数据库中?此外,我在我的视图页面上尝试了以下代码并且它可以工作,但是当我将其复制到我的动作邮件代码时它不起作用.它仅显示场地的QR码.
以下是我的代码,用于显示QRCode.谢谢!
<p>
<% @deal.venues.each do |venue| %>
<strong>QR Code for <%= venue.neighbourhood %></strong><br>
<% @qr = RQRCode::QRCode.new(@deal.id.to_s + "_" + venue.id.to_s + "_" + @deal.created_at.to_s).to_img.resize(100, 100).to_data_url %>
<span><%= image_tag @qr %><br></span>
<% end %>
</p>
Run Code Online (Sandbox Code Playgroud)
刘易斯巴克利解决方案的一些编辑
我对代码进行了一些编辑,现在它正在运行.因为,我使用ruby我必须在变量周围放置<%=%>才能显示它们.
<img src="https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=<%= @deal.id.to_s + '_' + venue.id.to_s + '_' + @deal.created_at.to_s%>" alt="QR code">
Run Code Online (Sandbox Code Playgroud)
我不确定您的确切用例,但之前我使用过Google Chart QR代码生成器并且它非常简单(您需要使用该u方法对内容进行url编码):
<img src="https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=#{u(@deal.id.to_s + "_" + venue.id.to_s + "_" + @deal.created_at.to_s)}&choe=UTF-8" alt="QR code">
Run Code Online (Sandbox Code Playgroud)
然后将其复制到邮件"视图"中.