PHPだったら var_dump
や var_export
などで配列やobjectの内容を出力してくれるが、Railsだとちょっとわかりにくかったのでメモ。
data = [
{'id' => 1, 'name' => 'tom'},
{'id' => 2, 'name' => 'ken'},
{'id' => 3, 'name' => 'guhi'}
]
data2 = [[
{'id' => 1, 'name' => 'tom'},
{'id' => 2, 'name' => 'ken'},
{'id' => 3, 'name' => 'guhi'}
]]
# putsするとdataもdata2も同じ出力結果になる。ループするときに困った。
puts data
puts data2
# 解決策 to_sをつけてputs
puts data.to_s
puts data2.to_s
これで期待した通り、多次元になっている様子を見れた。
to_s
は配列でもハッシュでも数字でもなんでも文字列化するよっていうこと。
追記
解決策2 (@eRy-sk さんありがとうございます!)
Kernel#pメソッドを使用。
p data
# [{"id"=>1, "name"=>"tom"}, {"id"=>2, "name"=>"ken"}, {"id"=>3, "name"=>"guhi"}]
p data2
# [[{"id"=>1, "name"=>"tom"}, {"id"=>2, "name"=>"ken"}, {"id"=>3, "name"=>"guhi"}]]