2013-11-30 2 views
5

реализация привет просто пытается создать код Qr в моем рельсах сайте с помощью SAM генератора Vincents кода QR https://github.com/samvincent/rqrcode-rails3 ....... первого я добавил этот код в контроллеррубина на рельсы QR-код

класса QrcodeController < ApplicationController

def qrcode reply_to do | формат |
format.html
format.svg {визуализации: QRCode => @qrurl, уровень: =>: L,: блок => 10: цвет => черный}
format.png {визуализации: QRCode => @ qrurl} format.gif {визуализации: QRCode => @qrurl} format.jpeg {визуализации: 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> 

был бы признателен за любую помощь, о том, как он работает, как их не так много инструкций онлайн им с помощью рубин 1.9.3 и рельсы 4.0.1

ответ

7

Я использую rqrcode камень. Это довольно просто, и вам не нужно создавать изображения для ваших 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.

+0

спасибо за вашу помощь иль дать этому идти –

+0

работает для меня как шарм. здорово! – jitter

+0

Я делаю подобное. Одна проблема: когда я печатаю/сохраняю страницу, между модулями появляются тонкие белые линии границы ... может быть, просто мой просмотрщик PDF – mmcrae

Смежные вопросы