是否可以用 em space 连接数组在 RoR 中?
IRB:
a = ["a", "b", "c"]
#=> ["a", "b", "c"]
a.join(' ')
#=> "a b c"
a.join(' ')
#=> "a b c"
a.join(' ')
#=> "a b c"
a.join(' ')
#=> "a b c"
但是由浏览器呈现,a.join(' ')
仍然吐出 a b
。
最佳答案
Rendered by a browser my code
a.join(' ')
still spits outa b
这是因为 Rails 默认会转义特殊字符:&
变成 &
, <
变成 <
等等。您必须将包含 HTML 实体(甚至标签)的字符串显式标记为 html_safe
:
' '.html_safe
并且由于内置 join
将使 HTML 安全标记无效,Rails 提供 safe_join
:
<%= safe_join(['a', 'b', 'c'], ' '.html_safe) %>
在 View 中,您还可以使用 raw
助手:
<%= safe_join(['a', 'b', 'c'], raw(' ')) %>
关于ruby-on-rails - rails : joining an array with em space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51855346/