如何将资产从 ruby gem 导出到 rails

how to export assets from ruby gem to rails

我正在构建一个 gem(请参阅 here 了解完整的源代码)并且我在将资产导出到 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]
[...]

知道我遗漏了什么吗?

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