railsではアップロードされたファイルは自動的にtempfileクラスにぶち込まれて、一時ファイルとして扱われる。
行き先は環境によりけりだけど、ドキュメントを参照のこと。
ポイントはこの添付ファイルがいつまで保持されるか。
ファイルをアップロードした後、確認画面に遷移して、OKだったらファイルを保存する。
というのがわりと理想形なのだけど、そうでないと一時ファイルのフォルダを作って、アップして、さらに自分でガーベッジコレクションまで実装しないといけない。
単純にめんどいw
セッション間でファイルを保存することができないのが原因なんだけど、どうにかならないかなぁと考えてます。
2 Responses for "rails : アップロードされたファイルの行き先"
DBでファイルシステムの真似事を実装します。railsだと、ツリー構造をもったDBサポートも組み込まれてるから、面倒ではないよ。
>れおさん
ツリーいいですよね!
マジで最初感動しました。
が、どうも汎用性が高い分、なんどもSQL文が飛ぶので多少自分で拡張して使ってます(left joinするようにしただけですが)
しかしactive_recordは便利なんですが、時々びっくりするような長大なSQL文が飛んでるのですが大丈夫なんでしょうか・・・・・?
結局31文字のランダムな文字列を吐いて、ファイルに一時保存する実装になりました。
たぶんcronで定期的に一定時間以上立ったファイルを削除するルーチンを作る気がします。
確かにいわれて考えてみたらDBに実装したほうが楽だったようなきがします(^^;;;