2012年2月8日水曜日

[Rails]ファイルのアップロード・ダウンロード

ファイルのアップロード・ダウンロードの実装メモ。

Documentモデルにfileというカラムを用意しておき、
そこにファイル名だけ保存する。

ファイル自体はpublicフォルダ配下にdocsというフォルダを作成して
そこに保存していくようにする。

scaffoldで作成されたコードから変更を加えていく。
まずはコントローラの設定。

app/controller/documents_controller.rb


save_fileアクションはファイルを保存したあと、
original_filenameメソッドで取得したファイル名を返す。

つぎにarchiveアクションのルーティングの設定をしておく。

config/routes.rb


最後にビューの設定。
form_forメソッドで、:multipartオプションを有効にしておくのを忘れずに。
fileldのヘルパーはfile_fieldに変更。

app/views/documents/_form.html.erb


app/views/documents/index.html.erb


これでファイルの保存ができ、保存したファイルはリンクをクリックして
ダウンロードできるようになる。

0 件のコメント:

コメントを投稿