主にステマブログ

ガチャメーカーについてのブログです。つれづれなるままにひぐらし

ActionDispatch::Http::UploadedFile について

f:id:ylang365:20140126214653j:plain

ニャー。たるいにゃあ

理解したつもりだったんだけど、すごい勢いで忘れていた

のか、頭に入ってなかったのか。反省という訳でメモ。

 

ActionDispatch::Http::UploadedFile

 

ファイルアップロードしたファイルは、ActionDispatch::Http::UploadedFileクラス

のオブジェクトメンバーの@tempfileアクセッサに入る。

ファイル名は、@original_filenameでひっぱれる。

 

@tempfileは、Tempfile < Fileクラスのオブジェクトで、

TempfileクラスとFileクラスの違いは、Tempfile#close(true) 実行時に

作成したテンポラリファイルは削除されるみたい。

 

てなわけで、@tempfileオブジェクトはなんのクラス?とおもっていたけど 

@tempfileオブジェクトは、Tempfileクラスのオブジェクトだったんだにゃあ。

class Tempfile

read時に物理ファイルを作って、close時にそれを消すということを

 内部的にやっているのがTempfileとFileクラスとの違いなのかな・・ふーん

 

owari