gpt4 book ai didi

ruby-on-rails - ruby on rails 二维码实现

转载 作者:行者123 更新时间:2023-12-04 05:52:40 29 4
gpt4 key购买 nike

嗨,我只是想使用 sam vincents 二维码生成器在我的 Rails 网站中创建二维码 https://github.com/samvincent/rqrcode-rails3 .......首先我将此代码添加到 Controller

class QrcodeController < ApplicationController

def qrcode respond_to do |format|
format.html
format.svg { render:qrcode => @qrurl, :level => :l, :unit => 10, :color => black }
format.png { render :qrcode => @qrurl } format.gif { render :qrcode => @qrurl } format.jpeg { render :qrcode => @qrurl } end end

   def options 
{:qrcode => "http://helloworld.com", size => 4}
end

end



然后我不确定在 View 中添加什么我试过这个
<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

最佳答案

我正在使用 rqrcode gem 。这非常简单,您不需要为您的二维码生成图像。代码是使用表格和一些 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 一起使用。

关于ruby-on-rails - ruby on rails 二维码实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20304687/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com