问题描述
我有一个 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) %>
并不是说我提倡使用猴子补丁,但如果这是您计划经常使用的方法,这似乎是添加自定义方法的不错选择。