Ruby on rails 将字符串动态呈现为html
我的输入可以是字符串,也可以是html字符串。我已经知道如何识别字符串是否为html,但我不知道如何让浏览器将字符串解释为html 例如,我不希望页面上出现Ruby on rails 将字符串动态呈现为html,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的输入可以是字符串,也可以是html字符串。我已经知道如何识别字符串是否为html,但我不知道如何让浏览器将字符串解释为html 例如,我不希望页面上出现,而是希望实际的链接呈现为: 查看我尝试执行此操作的代码: <div class="description"> <%= p.description %> <div> 听起来您需要使用,如果您的代码如下所示: @your_bit_of_html = '<a href="www.google
,而是希望实际的链接呈现为:
查看我尝试执行此操作的代码:
<div class="description">
<%= p.description %>
<div>
听起来您需要使用,如果您的代码如下所示:
@your_bit_of_html = '<a href="www.google.com"> Click here!! </a>'
<%= raw @your_bit_of_html %>
@your_bit_of_html=''
那么您的视图ERB应该如下所示:
@your_bit_of_html = '<a href="www.google.com"> Click here!! </a>'
<%= raw @your_bit_of_html %>
现在,您已经包括了您的雇员再培训局的样本:
<div class="description">
<%= raw p.description %>
<div>
使用
raw
假定您已正确编码和清除了要输出的任何HTML,因此您需要格外小心。听起来您需要使用,如果您的代码如下所示:
@your_bit_of_html = '<a href="www.google.com"> Click here!! </a>'
<%= raw @your_bit_of_html %>
@your_bit_of_html=''
那么您的视图ERB应该如下所示:
@your_bit_of_html = '<a href="www.google.com"> Click here!! </a>'
<%= raw @your_bit_of_html %>
现在,您已经包括了您的雇员再培训局的样本:
<div class="description">
<%= raw p.description %>
<div>
使用
raw
假定您已正确编码和清除了要输出的任何HTML,因此您需要格外小心。您需要通过以下两种方式之一将字符串标记为“HTML安全”:
<%= raw @string %>
。。。或者通过将字符串显式标记为html_安全:
<%= @string.html_safe %>
但是:请记住,如果此输入来自不受信任的用户(即除您之外的任何人!),则这可能是一种危险的策略,因为它将允许跨站点脚本攻击。请务必阅读rails,了解有关此风险以及如何有效缓解此风险的更多信息。您需要通过以下两种方式之一将字符串标记为“html安全”:
<%= raw @string %>
。。。或者通过将字符串显式标记为html_安全:
<%= @string.html_safe %>
但是:请记住,如果此输入来自不受信任的用户(即除您之外的任何人!),则这可能是一种危险的策略,因为它将允许跨站点脚本攻击。请务必阅读rails,了解有关此风险以及如何有效缓解此风险的更多信息。您可以粘贴视图代码吗?当然,我在尝试执行此操作的地方添加了一行。您可以粘贴视图代码吗?当然,我在尝试执行此操作的地方添加了一行。很难在这两个答案之间进行选择。信息量大,而且很有帮助。因为安全提示,所以选择这个。我没想到。再说一次,我认为安全性不如这两个答案中的选择那么重要。信息量大,而且很有帮助。因为安全提示,所以选择这个。我没想到。再说一次,我认为安全性不如我应该的那么重要rubyonrails.org的链接不再有效。@TrueSoft:谢谢,我更新了它以匹配
raw
帮助程序的当前位置。rubyonrails.org的链接不再有效。@TrueSoft:谢谢,我更新了它以匹配raw
帮助程序的当前位置。