我以模型的形式使用wysihtml5Post
:
帖子/_form.html.erb:
<%= f.text_area :content, id: "wysihtml5-textarea",
placeHolder: "Content" %>
并将结果显示为raw
+ sanitize
:
显示.html.erb:
<%= sanitize raw(@post.content), :tags => %w(b i u p br) %>
(我只允许b, i, u, p, and br
标签)。
这样做的问题是,除了上面提到的那些(b、i、u、p 和 br)之外的 html 标记仍然保存在文本区域中(如果用户单击编辑,它们仍然对用户可见)。我想在用户点击提交后立即删除(就像 WordPress 的文本编辑器是如何做到的)。
有什么建议么?
编辑:
我正在尝试的东西:
post.rb:
before_save :remove_html_tags
def remove_html_tags
self.content.sanitized_allowed_tags.delete 'div'
end