您只是尝试使用sam vincents qr代码生成器https://github.com/samvincent/rqrcode-rails3在我的rails网站中创建qr代码.......首先我将此代码添加到控制器
class QrcodeController< ApplicationController中
def qrcode respond_to do | format |
format.html
format.svg {render:qrcode => @qrurl,:level => :l,:unit => 10,:color =>黑色} format.png {render:qrcode => @qrurl} format.gif {render:qrcode => @qrurl} format.jpeg {render:qrcode => @qrurl} 结束 端def options {:qrcode => "http://helloworld.com", size => 4} end
端
然后我不确定在视图中添加什么我试过这个
<div class="Qrcode qr">
<h2>Qr code</h2>
<p><%= link_to "SVG", Qrcode_path("svg") %></p>
<p><%= link_to "PNG", Qrcode_path("png") %></p>
<p><%= link_to "JPEG", Qrcode_path("jpeg") %></p>
<p><%= link_to "GIF", Qrcode_path("gif") %></p>
非常感谢有关它如何运作的任何帮助,因为它们并不是很多在线说明 即时通讯使用ruby 1.9.3和rails 4.0.1
答案 0 :(得分:7)
我正在使用rqrcode gem。它非常简单,您不需要为qrcodes生成图像。代码是使用表格和一些CSS样式生成的......
您可以使用此帮助程序: /helpers/qrcode_helper.rb
module QrcodeHelper
require 'rqrcode'
def render_qr_code text, size = 3
return if text.to_s.empty?
qr = RQRCode::QRCode.new(text)
sizeStyle = "width: #{size}px; height: #{size}px;"
content_tag :table, class: "qrcode pull-right" do
qr.modules.each_index do |x|
concat(content_tag(:tr) do
qr.modules.each_index do |y|
color = qr.dark?(x, y) ? 'black' : 'white'
concat content_tag(:td, nil, class: color, style: sizeStyle)
end
end)
end
end
end
end
进入您的视图 some_view.html.erb
<%= render_qr_code("MYCODE") %>
您需要为代码添加样式 qrcode.css.less
table.qrcode {
border-width: 0;
border-style: none;
border-color: #0000ff;
border-collapse: collapse;
margin-top: 100px;
margin-bottom: 12px;
td {
border-width: 0;
border-style: none;
border-color: #0000ff;
border-collapse: collapse;
padding: 0;
margin: 0;
width: 3px;
height: 3px;
&.black {
background-color: #000 !important
}
&.white {
background-color: #fff !important
}
}
}
我的例子是使用Rails 3。