Ваш материал не работает, потому что v.to_s не изменяет v, поэтому, по сути, блок ничего не делает.
Вы можете сделать это так:
hash = {:id => 5, :foos => [1,2,3]}
hash.each_key { |k| hash[k] = hash[k].to_s }
Если вы не хотите изменять хеш:
hash = {:id => 5, :foos => [1,2,3]}
new_hash = {}
hash.each_key { |k| new_hash[k] = hash[k].to_s }