我有大量的产品我想用pdf显示,并带有类别标题。如果一个类别不适合当前页面,我想将它移到下一个。为此,我使用了Prawn的组方法。Ruby:大虾PDF使用组方法时内存不足
Product.all.group_by(&:category).each do |category, products|
pdf.group do
# Simplified the data a bit for this example
pdf.text category
pdf.table products.map{ |p| [p.title, p.price] }
end
end
这非常适用于少量的产品,但是当我加100多左右,它需要很长的时间,然后在“分配内存失败”结束。如果我不使用组方法,则需要大约30秒。
显然,group方法不能很好地管理其内存使用情况。任何建议的解决方法将不胜感激。
经过一番搜索后,我认为我找到了一个解决方案,可以满足我的需求:http://stackoverflow.com/questions/2081635。不幸的是使用这种方法有完全相同的问题:一段时间后,进程开始占用100%的CPU,并最终导致“未能分配内存” – 2010-11-18 19:17:02
我仍然想回答这个问题,所以我决定添加一个赏金。嘿,这值得一试。 – 2010-12-05 20:58:25
我与虾和组方法有同样的问题。 它看起来像小组一样工作,直到大约第50组在PDF中。在那一点上,迭代后续组需要很长时间。 – Teddy 2011-03-24 19:32:56