有没有办法在 Rails 部分参数中添加 HTML?
Is there a way to add HTML inside a Rails partial argument?
几天来我一直在尝试寻找有关将 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>
效果很好。但是,如果我想在某个小节中的页面或电子邮件中包含 link 怎么办?仅将其作为引号文本的一部分传递是行不通的。它显示了实际的 HTML 个标签。
有没有真正的方法可以做到这一点,还是我应该放弃,只写简单的 HTML 和重复的部分格式?
您将文本标记为 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
几天来我一直在尝试寻找有关将 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>
效果很好。但是,如果我想在某个小节中的页面或电子邮件中包含 link 怎么办?仅将其作为引号文本的一部分传递是行不通的。它显示了实际的 HTML 个标签。
有没有真正的方法可以做到这一点,还是我应该放弃,只写简单的 HTML 和重复的部分格式?
您将文本标记为 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