将Ruby字符串拆分为页面

将Ruby字符串拆分为页面,ruby,Ruby,我考虑这个问题已经有一段时间了,但不太确定最好的解决方法 在rails应用程序中,我有书籍,其中有许多章节,其中有许多章节。章节基本上只是章节的容器,尽管它们本身可能包含文本字符串。这些章节包含了本书的大部分内容 我正计划构建一个HTML5电子书阅读器,它可以在移动浏览器中工作,我不希望用户必须向下滚动——我希望文本在页面的末尾被打断 我认为使用split可能是一种方法,但我不确定是否有办法定期中断?javascript选项在这里会更好吗 我已经看过了:但无法在文本中插入手动换行符,其中一些是9

我考虑这个问题已经有一段时间了,但不太确定最好的解决方法

在rails应用程序中,我有
书籍
,其中有许多
章节
,其中有许多
章节
。章节基本上只是章节的容器,尽管它们本身可能包含文本字符串。这些章节包含了本书的大部分内容

我正计划构建一个HTML5电子书阅读器,它可以在移动浏览器中工作,我不希望用户必须向下滚动——我希望文本在页面的末尾被打断

我认为使用
split
可能是一种方法,但我不确定是否有办法定期中断?javascript选项在这里会更好吗

我已经看过了:但无法在文本中插入手动换行符,其中一些是90000多个单词


如果您有任何想法,我们将不胜感激。

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


文本只需要很少的数据,您不必担心传输的数据超过您的需要,也不必担心在内存中保留太多数据。

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

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

与我不久前写的类似。我想放大/缩小屏幕上使用的字体大小,直到屏幕刚好满为止(对于仪表板显示器)。。你的答案可能与之类似,但你不是在改变字体大小,而是在删减句子

如果您看不到如何修改此代码,请告诉我


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

好吧,我没有太多的JS知识,所以这需要一些工作才能弄清楚,但似乎这比让Rails处理拆分要容易。我非常确定Javascript可以访问客户端窗口的大小(以像素为单位)。如果您发送一组文本并使用CSS以便知道客户端大小上的字体,您可以将客户端窗口大小除以字体的高度,再加上间距,以估计可以有多少行(对宽度也这样做)。这不会占用太多的JS。这实际上是个好主意,它避免了一次拉取整个文本组。