我的应用程序使用gruff gem动态生成映像,然后提供这些映像。图像存储在app/assets/ images /gruff中。图像在运行时被更改(保持相同的文件名,但更改它们的内容),因为这些图像包含一个条形图,其中包含用户随时间变化的信息。如果图像丢失,则生成图像,并且不需要它们长时间存在。图像是使用image_tag提供的。
问题是,有两种类型的间歇性问题发生。一是生成的图像链接有时会有错误的指纹,即使图像在image_tag呈现之前就已经更新了。(因此404'ing.)
第二个问题是,即使我可以验证服务器上存在的映像,我仍然偶尔会得到一个ActionView::Template::Error (The asset "gruff/image-1.png" is not present in the asset pipeline.):。
如果这是可行的话,我又如何进一步了解问题所在呢?
如果资产管道根本不是我想要做的事情的好机制,那么社区会提出什么建议呢?
发布于 2022-07-01 16:55:21
解决问题的一个更好的方法是使用activestorage保存这个生成的映像,因此您应该创建一个这样的模型:
class DynamicImages < ApplicationRecord
has_one_attached :image
end并在使用gruff生成此图像时创建一个记录。
https://stackoverflow.com/questions/72832083
复制相似问题