LoginSignup
36
41

More than 5 years have passed since last update.

carrierwave 使い方

Posted at

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>

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

36
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
41