これまでに作った機能について簡単にまとめていく。
今回は、
carrierwaveを使った画像アップロード
使用モデル
Blogモデル
カラム | データ型 | |
---|---|---|
1 | title | string |
2 | content | text |
3 | image | string |
ImageMagickのインストール
既にある場合は省略
1 |
$ brew install imagemagick |
インストールされているか確認したい場合は、以下のコマンドで確認
1 |
$ convert -version |
Gemの導入
1 2 |
gem 'carrierwave' gem 'mini_magick' |
bundle installの実行
carrierwaveはアップロード用
mini_magickはサイズ調整用
アップローダーの作成
1 |
$ rails g uploader Image |
Imageは、今回のアップローダー名
アップローダーをモデルに紐付け
app/models/blog.rb
1 2 3 |
class Blog < ApplicationRecord mount_uploader :image, ImageUploader end |
フォームを追加
1 2 |
<%= f.label :image %> <%= f.file_field :image %> |
画像を表示する
1 |
<%= image_tag @blog.image.url %> |
以上で作成完了