2012-06-18 26 views
0

我想分页我的Web应用程序页面。但通常在第一页获得前10行,在第二页获得10-20行对我来说不是一个明智的决定,因为我的数据只是文本而且变化很大。一行可以只有10个字节长的白色另一个100kb长。所以我想按他们的大小分页我的应用程序页面。例如,当一个页面点击300kb时,我希望HAML注意到它并刷新网站。有没有办法跟踪生成的页面大小与HTML/RUBY

问题是,是否有一个变量或函数,我可以检查页面生成时生成的页面大小?

+0

你真的关心页面大小,还是只关心你从数据库中拉出来显示在这些行中的文本的总大小? –

+0

好的都将为我工作,如果我可以从生成页面时从数据库中获取文本大小 – gkaykck

回答

1

当你从数据库中提取数据,只保留多少数据你输出的运行计数:

@some_collection.each_with_object(0) do |item, count| 
    count += item.some_text_field.length + item.some_other_text_field.length 
    break if count > 300 
    # Proceed as usual 
end 

注意上面的计算中的字符数,而不是数量字节。如果要计算后者,则可以在每个字符串上调用bytesize而不是length

相关问题