More than 5 years have passed since last update.

carrierwaveは画像アップロード機能を簡単に実装できるgem。

[前提]スカフォードで画面を作っていること。


インストール

Gemfileに下記の記述を追加した後にbundle installを行う。

gem 'carrierwave'

bundle install


アップロード実装

下記のコマンドで実行する。

※imageはファイルパスとして使うカラムの名称に合わせること。

rails g uploader image

uploaders/image_uploader.rbというファイルが作成される。

ファイルパスをテーブルに追加してマイグレートを行う。

例:catというテーブルにimageというカラムを追加している

rails g migration add_image_to_cat image:string

rake db:migrate

モデルクラスの変更を行う。

mount_uploader行の追加とattr_accessibleにimageを追加する。


cat.rb

class Cat < ActiveRecord::Base  mount_uploader :image, ImageUploader  attr_accessible :name, :imageend


アップロード画面作成のためビューの変更を行う。


_form.html.erb

<%= f.label :image %><%= f.file_field :image %>


画像表示のため詳細のビューについて変更を行う。


show.html.erb

<p>  <b>Image:</b>  <%= image_tag @cat.image.to_s %></p>


これでアップロードして確認が行える。