ファイルをアップロードした後の処理をしてくれる便利なプラグイン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 %>
アップロードしたしたファイルの管理をしてくれます。ファイルをアップロードしたときの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 %>