これまでに作った機能について簡単にまとめていく。

今回は、

carrierwaveを使った画像アップロード

画像を複数アップロードする場合

使用モデル

Blogモデル

カラム データ型
1 title string
2 content text
3 image string

ImageMagickのインストール

既にある場合は省略

$ brew install imagemagick

インストールされているか確認

$ convert -version

Gemの導入

gem 'carrierwave'
gem 'mini_magick'

bundle installの実行

carrierwaveはアップロード用
mini_magickはサイズ調整用

アップローダーの作成

$ rails g uploader Image

Imageは、今回のアップローダー名

アップローダーをモデルに紐付け

app/models/blog.rb

class Blog < ApplicationRecord
  mount_uploader :image, ImageUploader
end

フォームを追加

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

画像を表示する

<%= image_tag @blog.image.url %>

以上で作成完了