Active Storageを使って画像をアップロード
ローカル環境でActive Storageを使用して画像をアップロードする機能を実装した時のメモ。
事前準備
imagemagickが入っていなかったのでインストール
$ brew install imagemagick
Active Storageの環境構築
$ bin/rails active_storage:install $ bin/rails db:migrate RAILS_ENV=development
画像をアップロード
class User < ApplicationRecord has_one_attached :avatar end
class UsersController < ApplicationController def update @user.update(user_params) end private def user_params params.fetch(:user, {}).permit(:name, :avatar) end end
= form_for @user do |f| = f.label :avatar = f.file_field :avatar = f.submit
画像を表示
gem 'mini_magick'
<%= image_tag user.avatar.variant(resize: "100x100") %>