Ruby comment écrire dans un fichier temporaire

Je suis en train de créer un fichier temporaire et écrire du texte dedans. Mais je reçois ce comportement étrange dans la console rails

t = Tempfile.new("test_temp") # => #<File:/tmp/test_temp20130805-28300-1u5g9dv-0>
t << "Test data"              # => #<File:/tmp/test_temp20130805-28300-1u5g9dv-0>
t.write("test data")          # => 9
IO.read t.path                # => ""

J'ai aussi essayé cat /tmp/test_temp20130805-28300-1u5g9dv-0 mais le fichier est vide

Ai-je raté quelque chose ? Ou quelle est la bonne façon d'écrire à Tempfile?

Pour info je suis en utilisant ruby 1.8.7 et les rails 2.3.12

  • Compris t.flush est la solution parfaite.
InformationsquelleAutor shiva | 2013-08-05