三种方式:

1.页面table

gem 'rqrcode'

controller:

url = "www.baidu.com"

@qr = RQRCode::QRCode.new(url, :size => 3, :level => 'l'.to_sym)

view:

<style type="text/css">

table {

border-width: 0;

border-style: none;

border-color: #0000ff;

border-collapse: collapse;

}

td {

border-width: 0;

border-style: none;

border-color: #0000ff;

border-collapse: collapse;

padding: 0;

margin: 0;

width: 10px;

height: 10px;

}

td.black { background-color: #000; }

td.white { background-color: #fff; }

</style>

<table>

<% @qr.modules.each_index do |x| %>

<tr>

<% @qr.modules.each_index do |y| %>

<% if @qr.dark?(x,y) %>

<td class="black"/>

<% else %>

<td class="white"/>

<% end %>

<% end %>

</tr>

<% end %>

</table>



2、直接在页面引用

gem 'rqrcode-rails3'

gem 'mini_magick'

controller:

respond_to do |format|

format.html

format.svg { render :qrcode => url, :level => :l, :unit => 10 }

format.png { render :qrcode => url }

format.gif { render :qrcode => url }

format.jpeg { render :qrcode => url }

end

view

<img src="action_path.jpeg" />

3、生成图片

controller:

format = :png

size = 3

level = :h

url = "ytuuiuouo"

qrcode = RQRCode::QRCode.new(url, :size => size, :level => level)

svg = RQRCode::Renderers::SVG::render(qrcode, {})

p_w_picpath = MiniMagick::Image.read(svg) { |i| i.format "svg" }

p_w_picpath.format "png" if format == :png

path=p_w_picpath.path