LoginSignup
0
0

More than 1 year has passed since last update.

【Rails】画像アップロードにcarrierwave

Posted at

CarrierWaveとは

Rubyのアプリケーションから簡単にファイルをアップロードするためのgemです。

開発環境

mac
ruby: 2.6.4
rails: 5.2.6
db: mysql

注意事項

本記事は、ローカルで作業する前提となります。
Gem追加後は読み込みの為にサーバーの再起動をしてください。
Carrierwaveのバージョンが2.0の場合は、Rails 5.0以上・Ruby 2.2以上が必要との事なので注意して下さい。
詳しい内容は下記の公式サイトから参照してください。
carrierwave

導入手順

  • Gemfileにcarrierwave追加後インストール
Gemfile
   gem 'carrierwave', '~> 2.0'
ターミナル
   % bundle
  • 下記のコマンドでアップローダークラスを生成します。
ターミナル
   % bundle exec rails g uploader Avatar
  • アップロード画像の情報を保存するavatarカラムを追加
ターミナル
   % bundle exec rails g migration add_avatar_to_users avatar:string
ターミナル
   % bundle exec rails db:migrate

ストロングパラメータにpermit(:avatar)の追加を忘れずに

  • avatarカラムとアップローダークラスの紐付け
user.rb
class User < ActiveRecord::Base
  mount_uploader :avatar, AvatarUploader
end

  • GithubにアップロードしないようGit管理下から除外
.gitignore
/public/uploads

以上です。

0
0
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
0
0