将Ruby字符串拆分为页面

时间:2012-05-31 13:25:19

标签: ruby

我一直在考虑这个问题,并且不太确定最好的方法。

在rails应用中,我有books,其中包含许多chapters sections。章节基本上只是部分的容器,但可能包含文本字符串本身。这些部分包含了大部分书籍文本。

我打算构建一个可在移动浏览器中运行的HTML 5电子书阅读器,我不希望用户必须向下滚动 - 我希望文本在页面末尾打破。

我假设使用split可能是要走的路,但我不确定是否有办法定期休息?这里的javascript选项会更好吗?

我看过这个:Dividing text article to smaller parts with paging in Ruby on Rails但是不能在文本中插入手动断点,其中一些是90,000多个单词。

任何想法都会受到赞赏。

3 个答案:

答案 0 :(得分:0)

我认为这里的主要问题是页面长度将取决于设备(可能还有文本大小,如果这是应用程序的功能)。您应该一次发送一个肯定至少要说5页长的大块,然后让javascript进行分页。 Rails无法访问,也不应该访问显示器的大小。

文本需要的数据非常少,您不必担心传输超出需要的内容或保留太多内存。

答案 1 :(得分:0)

您可以使用空行(“\ n”或“
”)作为分隔符。

答案 2 :(得分:0)

我会发送足够的页面内容以轻松填充页面等,然后在客户端幻灯片上使用javascript从页面中删除句子,直到滚动条消失。

Resize.js与我刚才写的类似。我想放大/缩小屏幕上使用的字体大小,直到屏幕刚满(对于仪表板显示器)。你的相似,但不是改变字体大小,而是修剪句子。

如果您看不清楚如何调整此代码,请告诉我。

注意:我还会在javascript中记录它最终显示的文本量,并在“下一页”请求中将其传递给服务器,以便服务器知道从哪里开始下一页。