我有一个包含未保存内容(用户输入)的字符串数组。我想在模板中加入这些字符串,用<br />分隔。我试过:
<br />
somearray.join("<br />")
但这也将逃脱sparator。是否有一个变通方法,记住数组的内容绝对必须转义?
axkjgtzd1#
raw和h提供了选择性地应用此默认行为的方法。
raw
h
<%= raw user_values_array.map {|user_value| h user_value }.join('<br />') %>
更好的是,Rails3.1为此引入了safe_join(array, sep),与html_safe一起使用,它可以做你需要做的事情。
safe_join(array, sep)
html_safe
<%= safe_join(user_values_array, "<br />".html_safe) %>
文件
irlmq6kh2#
为什么它必须是一个<br />标记?你能用一个列表代替吗?
<ul> <% somearray.each do |item| %> <%= content_tag :li, item %> <% end %> </ul>
mklgxw1f3#
你试过这个吗?
raw somearray.join("<br />")
zu0ti5jz4#
如今,解决这一问题的最先进方法是:
# Inside a view: safe_join(somearray, '<br />') # From somewhere else, given the current controller: controller.helpers.safe_join(somearray, '<br />')
4条答案
按热度按时间axkjgtzd1#
raw
和h
提供了选择性地应用此默认行为的方法。更好的是,Rails3.1为此引入了
safe_join(array, sep)
,与html_safe
一起使用,它可以做你需要做的事情。文件
irlmq6kh2#
为什么它必须是一个
<br />
标记?你能用一个列表代替吗?mklgxw1f3#
你试过这个吗?
zu0ti5jz4#
如今,解决这一问题的最先进方法是: