我正在使用Rails 3.我想在erb模板中显示生成的html片段
<%= "Foo Bar" %>
Rails编码div标签.
如果我在Rails 2中正确<%=h
导致html转义.似乎它在Rails 3中被更改了.如何在Rails 3中插入没有编码的html片段?
问候,阿列克谢.
我假设通过编码你的意思是html-escaping:
要在Rails 3中输出原始html,您可以使用三种不同的方法.
你可以使用raw
帮助器输出原始html
<% some_string = "Hello World!" %> <%= some_string %> <%=raw some_string %>
更多信息:ActionView :: Helpers :: OutputSafetyHelper #raw
您可以将字符串标记为 html_safe
<% some_string = "Hello World!".html_safe %> <%= some_string %>
更多信息:String#html_safe和ActiveSupport :: SafeBuffer #new
您可以使用清理输出 sanitize
<%=sanitize "Hello World!", tags: %w( div ) %>
更多信息:ActionView :: Helpers :: SanitizeHelper #sanitze
更多信息:
SafeBuffers和Rails 3.0
Railscast#204:Rails中的XSS保护3