paramsの内容が以下のものであるとき、
{:id => "1", "answer"=>{"1"=>"いちご", "2"=>"メロン", "3"=>"ブルーハワイ"}}
params["answer"]は{"1"=>"いちご", "2"=>"メロン", "3"=>"ブルーハワイ"}のハッシュを表しているはずなので、
str = params["answer"].to_yaml
以下の文字列として、できるはずなのだけどうまくいかなかった。
--- "1": "いちご" "2": "メロン" "3": "ブルーハワイ"
理由は、paramsはHashを拡張したHashWithIndifferentAccessというクラスだから。なので、いちどHashに格納しなおしてto_yamlを使ってみた。
tmpHash = Hash.new params["answer"].each do |key, value| tmpHash.store(key,value) end str = tmpHash.to_yaml
これでうまくいった。