Rails Active Storageを使って画像のアップロード機能を実装する
Active Storageによる画像アップロード機能の実装
作業内容
- 画像変換ツールをインストール
- Active Storageをインストール
- userモデルにActive Storageの設定を追記
● ImageMagickのインストール
ImageMagickは、コマンドラインから簡単に画像の保存形式の変更などが出来るツールである。
ターミナルで下記のコマンドを実行。
$ brew install imagemagick
ImageMagickがインストールできたら、mini_magick
をインストールする。
gemifileに追記。
gemfile
gem 'mini_magick'
追記したらbunle install
$ bundle install
● Active Storageのインストール
$ rails active_storage:install
$ rake db:migrate
上記のコマンドを実行すると、Active Storageが使用するテーブル用のマイグレーションファイルが作成される。
その後続けて必ずマイグレートすること。
● User.rbに追記
下記の追記をすることで、ユーザーのレコードを画像を紐づけることができる。ユーザーテーブルにカラムを追加する必要がなくなる。とても便利!
user.rb
class User < ApplicationRecord
#Include default devise modules. Others available are:
#:confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_one_attached :avatar # 追記
●/devise/registraions/new.html.erbの編集(例)
/devise/registrations/new.html.erb
# 省略
<div class="label"><%= f.label :nickname %><br />
<%= f.text_field :nickname %></div>
<div class="field">
<%= f.file_field :avatar %>
</div>
# 省略
has_one_attached :avatar
と記述するだけでテーブルにカラムを追加しないでできてしまう。
* ストロングパラメータを追加することを忘れずに⭐️
Author And Source
この問題について(Rails Active Storageを使って画像のアップロード機能を実装する), 我々は、より多くの情報をここで見つけました https://qiita.com/bomber0522/items/bb54f2dac6170a149ef8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .