Elo*_*son 3 html ruby ruby-on-rails line-breaks
我正在开发我的第一个 Rails 网站,但有一个小问题:我想将 <br/> 标签显示为换行符,但我也想将其他标签显示为字符串。
例如,用户输入是:
<a href='#2'>转到#2</a><br/><a href='#3'>转到#3</a>
我想显示:
<a href='#2'>转到#2</a>
<a href='#3'>转到#3</a>
我知道我可以将 <br/> 标签显示为换行符,如下所示:
<%= simple_format @user_input %>
但问题是这个命令显示:
转到#2
转到#3
并不是:
<a href='#2'>转到#2</a>
<a href='#3'>转到#3</a>
先感谢您!
使用 Rails 清理帮助器方法,将您想要允许的标签列入白名单,并忽略那些您不允许的标签。所有遗漏的内容都将被删除并显示为文本。所以在你的情况下它会是这样的
<%= sanitize @user_input, tags: %w(br) %>
Run Code Online (Sandbox Code Playgroud)
有关清理方法 api 信息,请参阅http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-sanitize。