我有一个非常大的数据集(100,000)要显示,但是我尝试过的任何浏览器都包括chrome 5 dev,它会使它们窒息几十秒(win7 64bit,4gb,256gb ssd,c2duo 2.4ghertz)。
我做了一点实验就像扼杀浏览器一样简单。我知道浏览器从来都不是为此构建的,所以我想让数据按块进行分块,我猜每个块的2000是合理的,但我不想在每次调用这个视图时发出50个请求,任何想法?如果它可以一次性发送,它不必是块的块。
最佳,
答案 0 :(得分:1)
实现这一目标的一种方法是使用render,传递一个proc。下面的代码片段来自Rails文档。
# Streams about 180 MB of generated data to the browser.
render :text => proc { |response, output|
10_000_000.times do |i|
output.write("This is line #{i}\n")
output.flush
end
}
http://api.rubyonrails.org/classes/ActionController/Base.html#M000658
答案 1 :(得分:1)
我确实看到了一个允许这种事情的插件,但我记不起它的名字了......会不停地拖着我的笔记。
与此同时,这就是分页:p
如果你的用例不支持,那么使用AJAX可以简化一些事情......可以使用AJAX逐步加载数据,无论是用户滚动还是自动滚动。
更新:找到了模板流式插件:http://github.com/oggy/template_streaming