ruby中的truncate和raw互斥方法是什么?

时间:2014-03-04 09:29:29

标签: ruby-on-rails ruby truncate html-safe

我正在尝试这样做truncate raw(@some_text), length: 300。当文本超过300个字符的限制时,我在文本中看到了html标签。

我需要在文本中截断并实现html(标签前置和附加)属性。有没有其他方法可以做同样的事情? 在此先感谢。

4 个答案:

答案 0 :(得分:2)

这应该是原始的(@ some_text.slice(0,300))

答案 1 :(得分:1)

您的问题是截断您将删除结束标记。如果你需要截断它,你基本上需要剥离所有标签。

http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html

答案 2 :(得分:0)

尝试使用截断和删除文本中的html标记....

truncate(strip_tags(@some_text),:length => 300)

Reference Link

答案 3 :(得分:0)

以下是我们用于此的代码:

#app/helpers/application_helper.rb
def clean(content, length)
    body = sanitize(content, tags: [])
    truncate(body, length: length, separator: " ")
end

如果您将其放入帮助程序,则可以致电:clean(@some_text, "300")