首页 > 解决方案 > 如何将资产从 ruby​​ gem 导出到 rails

问题描述

我正在构建一个 gem(请参阅此处获取完整的源代码)并且在将资产导出到 Rails 时遇到问题。

我在 gem 中编写的测试运行良好,但是当我在 Rails 上安装 gem 时,缺少一些资产,例如找不到图像,我在 Rails 上收到以下错误:

# error I got when installed on Rails
unable to open image `app/assets/images/swiss_cross.png': No such file or directory @ error/blob.c/OpenBlob/2701

引发错误的 Gem 代码是这样的:

# Gem source code
# lib/qr-bills/qr-generator.rb
[...]
    swiss_cross = Image.read("app/assets/images/swiss_cross.png")[0]
[...]

有什么我想念的想法吗?

标签: ruby-on-railsrubyrubygemsassets

解决方案


只需使用您的资产的完整路径,就像在此处完成的那样,并且不依赖于当前目录中存在的文件。在您的情况下,Rails 已经有了app/*.


推荐阅读