Ruby 在 Rails QR 码上,RQRCode-Gem 不工作

Ruby on Rails QR-Code with RQRCode-Gem not working

我正在尝试为我的 Rails 应用程序实施双因素身份验证,令牌工作正常,但二维码不行。

我想在代码中创建 provisioning_uri,因此我使用了推荐的 RQRCode-Gem。

所以基本上我做了 GitHub-Repo 中提到的所有事情,但我没有让它工作。

在我的 Gem 文件中,我添加了:

gem 'active_model_otp'
gem 'rqrcode'

然后在我的 UsersController 中,我正在创建 QR-Code 库的新实例并传入参数 (show-Action):

@qr = RQRCode::QRCode.new(@user.provisioning_uri, :size => 8, :level => :h)

然后,就像自述文件中写的那样,我在我看来为我的 QR 码添加了 table:

<table class="qr">
      <% @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>

我还添加了必要的样式到我的 application.scss:

.qr {
    border-width: 0;
    border-style: none;
    border-color: #0000ff;
    border-collapse: collapse;
    width: 50%;
  }
  .qr td {
    border-width: 0;
    border-style: none;
    border-color: #0000ff;
    border-collapse: collapse;
    padding: 0;
    margin: 0;
    width: 10px;
    height: 10px;
  }
  .qr td.black { background-color: #000; }
  .qr td.white { background-color: #fff; }

所以我觉得我这边没有什么错,至少我好像找不到。

如果我现在 运行 我的应用程序并进入我的展示页面,我会收到以下错误:

我的应用程序好像找不到资源什么的。

有什么建议吗?

好的,我通过将 QR 码呈现为 PNG 并使用 chuny_png gem 的 to_data_url 方法自行修复了它。以防万一有人遇到同样的问题! :)

<div class="qr">
  <%= @qr.as_html.html_safe %>
</div>