无法理解为什么我们使用html_safe而不是传统的html来呈现。
def group(content)
html = "".html_safe
html << "<div class='group'>".html_safe
html << content
html << "</div>".html_safe
html
end
发布于 2018-08-03 03:43:02
我同意html_safe
在这个例子中没有太多意义,因为content_tag
会更短,更容易阅读,并且会自动转义用户输入:
def group(content)
content_tag(:div, content, class: 'group')
end
发布于 2018-08-03 02:53:13
在Rails HTML模板中,传入的字符串是超文本标记语言转义的(为了防止Cross Site Scripting将超文本标记语言代码注入到你的字符串中,这样攻击者就可以在你站点的访问者身上执行JavaScript )。然而,有时我们知道我们的字符串对于HTML是安全的,并且不希望它被转义,以便可以实际呈现HTML。我们通过在字符串上调用.html_safe
来将其标记为对HTML呈现是安全的。您通常希望尽可能避免使用它,因为它更容易犯错误并导致XSS成为对您站点的可能攻击。
https://stackoverflow.com/questions/51660300
复制相似问题