2011年10月30日日曜日

rails CarrierWave

ファイルをアップロードした後の処理をしてくれる便利なプラグインCarrierWave(paperclipより使いやすい)
アップロードしたしたファイルの管理をしてくれます。ファイルをアップロードしたときのDBのレコードを削除した場合は、ファイルも削除してくれています。画像などのリサイズをおこなわない場合は、以下のような感じです。
今度からはこっちを使うつもり。

手順1:GemFileに以下を追加して、bundle installを実行
gem 'carrierwave'
手順2:以下のコマンドでアップロード用のクラスを作成
rails g uploader file
手順3:アップロードするファイルに関係するモデル、コントローラー、ビューの作成
rails g scaffold info title:string file:string
rake db:migrate
手順4:アップロード用のクラスの指定

class Info < ActiveRecord::Base
mount_uploader :file,FileUploader  #ここを追加
end
手順5:_form.html.erbの修正

 

    <%= f.label :title %>
    <%= f.text_field :title %>
 

 

    <%= f.label :file %>
    <%= f.file_field :file %>  #ここを修正
    <%= f.hidden_field :file_cache %> #ここを追加
 

 

    <%= f.submit %>
 


0 件のコメント:

コメントを投稿