我是Rails的新手,我使用的是Ruby版本1.9.3和Rails版本3.0.0。
我想在Rails中打印一个数组。我该怎么做?
例如,我们必须使用print_r
在PHP中打印数组:
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
输出:
<pre>
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
</pre>
如何在Rails中打印数组?
答案 0 :(得分:10)
您可以使用inspect
之类的:
@a = ['a', 'b']
p @a #['a', 'b']
或者:
p @a.inspect #"[\"a\", \"b\"]"
答案 1 :(得分:2)
您需要使用awesome_print
gem。
require 'awesome_print'
hash = {:a=>1,:b=>2,:c => [1,2,3]}
ap hash
输出:
{
:a => 1,
:b => 2,
:c => [
[0] 1,
[1] 2,
[2] 3
]
}
答案 2 :(得分:0)
你在这里有几个选择。我假设你在ERB模板中这样做。
这会将数组转换为YAML并将其打印出来并包含在<pre>
标记
<%= debug [1,2,3,4] %>
这将以可读的Ruby语法格式化它:
<pre><%= [1,2,3,4].inspect %></pre>
有关详细信息,请查看“Debugging Rails Applications”。
答案 3 :(得分:0)
这取决于你想要使用数组的内容。
要在视图中盲目输出数组,必须在视图中,您应该使用debug
和inspect
,如下所示:
<%= @array.inspect() %>
<%= debug @array %>
但是,如果你想迭代一个数组,或者做explode()
之类的事情,那么你将更适合使用Ruby数组函数。