首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >截断方法随机截断(?)长度

问截断方法随机截断(?)长度
EN

Stack Overflow用户
提问于 2020-08-01 08:15:32
回答 1查看 43关注 0票数 0

我在一个Rails项目中使用带有"read more“链接的truncate。但非常奇怪的是,它在看似随机的地方截断了内容。下面是我视图中的代码:

代码语言:javascript
复制
<%= truncate(simple_format(article.content), length: 500, separator: ".", escape: false, omission: "... #{link_to("Read More", article}") %>

我测量了它截断的地方的长度,它是非常随机的(比如278,360,等等)。拆分应该发生在短语的末尾(使用separator: "."),我正在检查它是否可能与此相关,但不是。即使有500个字符以内的其他短语,它也会在前面拆分。

删除omission参数实际上解决了这个问题。我想知道为什么会发生这种事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-01 08:15:32

转义的HTML字符实际上计入长度。这包括你文章的链接和标题。

默认在Rails中,您文章的链接将类似于/articles/1。但是,如果您使用像friendly_id这样的gem来创建像/some-slugged-article-title这样的阻塞URL,那么每个文章链接将有不同的长度。这就是在截断长度中产生这种变化的原因。

为了拆分大约500个字符的可视文本,您需要在length参数中添加文章标题的长度。您可以使用以下命令来执行此操作:

代码语言:javascript
复制
<%= truncate(simple_format(article.content), length: 500 + article.title.length, separator: ".", escape: false, omission: "... #{link_to("Read More", article)}") %>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63200552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档