我有以下定义:
def images_base64(images)
images.map {|image| image.image}
end
然后将这样的图像加载到haml文件中:
- images_base64(@document.meta.images).each do |image|
= image_tag "data:image/png;base64, #{image}", width: '600px'
有没有办法在Rails中存储或保存加载的图像?
答案 0 :(得分:0)
这听起来像是一个坏主意,但却不知道您为什么要这样做?这些图像不只是说S3的原因吗?我说这是因为,与让Rails在响应中重新整理大文件相比,使用S3之类的文件来提供资源的效率更高。
同样,当您说“在记忆中”时,这可能意味着很多事情。就像您可能要在Memcache或Redis中缓存庞大的图像标签列表一样。因此,您可以使用cache document do
之类的东西在HAML文件中的images_base64周围分割缓存,这会将一大堆image_tag html和base64图像字符串存储在缓存存储区中。
这是一个更糟糕的主意:您可以将图像记忆在内存中。这是有关使用参数进行记忆的链接:http://gavinmiller.io/2013/advanced-memoization-in-ruby/。我之所以仅提及这一点是因为您说的是“内存已加载”。但是我真的不认为您想要这种方法。