ruby-on-rails - 如何将资产从 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]
[...]
有什么我想念的想法吗?
解决方案
只需使用您的资产的完整路径,就像在此处完成的那样,并且不依赖于当前目录中存在的文件。在您的情况下,Rails 已经有了app/*
.
推荐阅读
- xml - 使用 XSL-T 将属性名称添加到单选按钮
- laravel - 使用 laravel 配置引导程序
- c++ - 在二维数组中添加行
- vba - Visio VBA 更改图片
- python - ValueError:使用 np.vstack 设置具有序列的数组元素
- c++ - Visual C++ 是否提供与 GCC 中的 `__attribute__((alias))` 功能相同的语言结构?
- java - 调用方法列表
- visual-c++ - 通用 lambda 尾随返回类型中的函数范围名称无法编译 (MSVC)
- android - 为什么 requestScope 会导致错误 12501?
- java - 带有私钥的 RSA 解码文件