HTML_SAFE允许除了之外的所有内容

时间:2012-09-06 05:25:34

标签: ruby-on-rails html-safe

如何禁止html_safe rails 3

中的字体大小更改

我这里有一篇文章的截断描述,当用户使用tinymce编辑器输入大字体时,我想在显示模式下禁止大字体大小

= truncate(event.description.html_safe, :length => 110, :omission => "...")

我该怎么做?

1 个答案:

答案 0 :(得分:0)

在将其标记为html_safe之前,您需要使用sanitize帮助程序。不幸的是,在这种情况下,黑名单功能已被删除,因此除了默认值之外,您还需要逐字列出您想要的所有属性。使用正则表达式删除有问题的属性可能更容易。

此外,对于它的价值,raw(event.description)event.description.html_safe的作用相同,但不会爆炸为零值(不确定您的验证规则是什么),因此通常首选。

修改

清理示例用法(来自http://apidock.com/rails/v3.2.8/ActionView/Helpers/SanitizeHelper/sanitize):

truncate( raw( sanitize(event.description, :tags => %w(table tr td), :attributes => %w(id class style) ) ), :length => 110, :omission => "...")

注意:截断HTML会导致一些奇怪且难以追踪的错误,因为截断结束标记会产生无效的HTML。