使用rqrcode编码无效

时间:2014-08-09 21:06:32

标签: ruby-on-rails carrierwave qr-code

我的编码错误无效,我无法将图像保存到载波上传器。

require 'rqrcode_png'
img = RQRCode::QRCode.new( 'test', :size => 4, :level => :h ).to_img.to_s

img.valid_encoding? 

=> false

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您正在寻找的,在我的情况下,我需要使用carrierwave将生成的QR码与Rails模型相关联,我最终做的是将图像保存到临时文件,将该文件与模型相关联,然后删除临时文件,这是我的代码:

def generate_qr_code!
  tmp_path = Rails.root.join('tmp', "some-filename.png")
  tmp_file = RQRCode::QRCode.new(self.hash_value).to_img.resize(200,200).save(tmp_path)

  # Stream is handed closed, we need to reopen it
  File.open(tmp_file.path) do |file|
    self.qr_code = file
  end

  File.delete(tmp_file.path)

  self.save!
end