to_queryはto_sやto_iよろしく,単純なクエリ文字列への変換をするだけだと思っていましたが、
どうやら自動的に辞書順にソートしたり、引数を渡すとラップしてくれたりしてくれるようです
{ac: 'dammy', aa: 'dammy', ab: 'dammy'}.to_query
# => "aa=dammy&ab=dammy&ac=dammy"
{ac: 'dammy', aa: 'dammy', ab: 'dammy'}.to_query('data')
# => "data%5Baa%5D=dammy&data%5Bab%5D=dammy&data%5Bac%5D=dammy"