如何在没有trix格式信息的情况下截断ActionText输出

问题描述

我有一个 Rails 操作文本字段 :content,如果我接受整个字段,它呈现得很好,但它很长,我只想显示其中的一部分。

<%= year.content %> 工作正常,只是太长了。

<%= year.content.truncate(70) %> 结果为 undefined method 'truncate' for #<ActionText::RichText:0x00007ffb811a6060>

<%= year.content.to_s.truncate(70) %> 显示我可以使用的 <div class="trix-content"> <div> <strong>Jack Marietich,restaura...,但是有没有一种方法我不必去掉开头?

解决方法

Trix using rails actiontext add pure html 在我发布之后出现,但之前没有。

<%= year.content.to_plain_text.truncate(70) %>

https://api.rubyonrails.org/classes/ActionText/RichText.html#method-i-to_plain_text 但即使我找到了它,我也不确定我是否会理解这正是我所需要的。

,

如果您这样做是为了预览,您可以去除标签然后截断。像这样:

<%= truncate(strip_tags(year.content.to_s),length: 70) %>

并不是说我提倡使用猴子补丁,但如果这是您计划经常使用的方法,这似乎是添加自定义方法的不错选择。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...