我正在使用Rails 3.2.x,我在视图中有以下代码。
<%= order.address.address_array.join('<br />').html_safe %>
地址是地址1,地址2,城市名称,州名,国家名称和邮政编码的数组 - 标准内容。
由于我将内容标记为html_safe
,如果用户在城市名称中输入<script>something</script.
,则会执行该javascript代码。
在没有暴露安全问题的情况下,使用换行符显示地址的简洁方法是什么。
答案 0 :(得分:2)
在加入之前,您必须在地址数组的每一行调用html_safe。看起来应该是这样(未经测试):
<%= order.address.address_array.map(&:html_escape).join('<br />') %>
答案 1 :(得分:1)
尝试:
simple_format(h(address))
它将转义脚本,然后添加<br/>
而不是换行符。