今天做项目的时候,这样子的一个问题,我有一个数组
test:["123","456","789"]
然后我传入一个布局example.html.erb中供一个script使用
<script type="text/javascript">
var a = <%= test[0] %>;
document.write(a);
</script>
或
<script type="text/javascript">
var a = <%= test %>;
document.write(a);
</script>
这样子是没错的。但是如果test数组的某个元素是一个不纯数字的字符串,就会发生错误。而且ruby的一个数组传给script的一个数组是有问题的。然后发现通过raw方法就可以了.
<script type="text/javascript">
var a = <%= raw test %>;
document.write(a);
</script>
其中的原理还是不怎么清楚。好像是Rails对html做了很多安全性措施,用raw方法就会避开这些安全措施。