是否可以在RoR中将数组与em space连接起来?
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
。
答案 0 :(得分:5)
由浏览器呈现的我的代码
data
仍然吐出Drawable drawable = ResourcesCompat.getDrawable(getResources(), drawableRes, null); ViewCompat.setBackground(layout, drawable);
这是因为Rails默认情况下会转义特殊字符:a.join(' ')
变成a b
,&
变成&
,依此类推。您必须将包含HTML实体(甚至标签)的字符串明确标记为html_safe
:
<
由于内置<
将使HTML安全标记无效,因此Rails提供了safe_join
:
' '.html_safe
在视图中,您还可以使用raw
帮助器:
join
答案 1 :(得分:1)
一切正常。但是,如果您想在控制台中看到空白而不是HTML实体的代码,则必须将其转换为UTF-8字符。尝试这样的事情:
CGI.unescapeHTML(%w[a b c].join(' ')) #=> "a b c"