我一直试图找到一些关于在部分参数中嵌入HTML代码的东西,但是我没有找到任何东西,所以我猜它是不可能的。但它似乎应该是。
我的Rails应用程序中有一个静态页面,其中有很多部分,每个部分都有子部分。我可以让整个页面只是纯HTML。但我不想一遍又一遍地重复相同的格式,以防我想要更改类或其他内容。
所以我有以下_section.html.erb部分文件:
<div class="row">
<h4><%= heading %></h4>
<% subsections.each do |section| %>
<% if section[:header] %>
<h5 class="primary-text"><%= section[:header] %></h5>
<% end %>
<p><%= section[:body] %>
<% end %>
</div>
工作正常。但是,如果我想在其中一个小节中包含指向页面或电子邮件的链接,该怎么办?它只是通过作为引号文本的一部分传入它不起作用。它显示了实际的HTML标记。
有没有一种真正的方法可以做到这一点,还是应该放弃,只是用重复的部分格式编写纯HTML?
答案 0 :(得分:1)
您将文字标记为html_safe。例如:
<%= section[:header].html_safe %>
但我会建议使用消毒方法,因为安全共振:
<%= sanitize section[:header] %>
有时您可能需要配置清理方法。在这里,您可以阅读如何执行此操作: http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html
您可以在此处详细了解安全性: http://guides.rubyonrails.org/security.html#cross-site-scripting-xss