在Rails中,如何在文本区域中允许一些html?

Nor*_*orm 11 html formatting ruby-on-rails erb

我有一个我正在创建的Rails应用程序(博客).很基本的东西.在我的内容区域中,我有一个文章区域的帖子内容.我需要在文本区域中包含一些html(链接,格式化等).

<%= f.text_area :content %>
Run Code Online (Sandbox Code Playgroud)

是否有另一个标签,我可以使用而不是text_area,这将允许我这样做?

Mor*_*ker 19

你在意见中试过这个吗?

 <%= content.html_safe %>
Run Code Online (Sandbox Code Playgroud)


ste*_*ddy 11

这是一个老问题,但我想这是一个非常直接的视图助手:sanitize.我认为你想要呈现用户输入的HTML标签.为此,将内容保存为字符串并使用清理呈现为HTML.

用法示例:

sanitize @post, tags: %w(strong em a code pre h2 h3 p blockquote ul ol li br),
                attributes: %w(href class)
Run Code Online (Sandbox Code Playgroud)

tags选项允许您指定要使用的标记以及与html属性相同的标记.


Mik*_*ike 5

HTML安全方法实际上是.html_safe.刚刚在文本字段上测试过.

例如:

<%= @item.description.html_safe %>
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下如何避免使用XSS脚本,如果用户放置一些脚本标记怎么办? (2认同)