Этот вопрос относится к ruby 1.8, но он все еще занимает первое место при поиске в Google.
в ruby> = 1.9 вы можете использовать
File.write("public/temp.json",tempHash.to_json)
, кроме того, что упоминалось в других ответах, вruby 1.8 вы также можете использовать одну форму лайнера
File.open("public/temp.json","w"){ |f| f.write tempHash.to_json }