29
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rails7でActive Storageの導入方法

Last updated at Posted at 2024-07-31

初めに

Active Storageをrails7で導入する機会があったためアウトプットも兼ねてまとめてみました。細かい設定やコードの意味や機能などは省略しておりますのでより詳細に知りたい方はご容赦お願い致します🙇
また、今回はローカルストレージを使用するのでdevelopment.rbの設定などは省略しています!

概要

Active Storageは簡単にいうとファイルのアップロード、保存、管理を簡単に行うための機能!!

導入方法

①Active Storageをインストールする

rails active_storage:install

②マイグレーションする

rails db:migrate

③モデルへの記述

一枚のみアップロードする場合

has_one_attached :image

複数枚アップロードする場合

has_one_attached :images

④ビューへの記述(カラム名はモデルに記述したものを使用)

入力フォーム

<%= form_with(model: @user, local: true) do |form| %>
  <div class="field">
    <%= form.label :image %>
    <%= form.file_field :image %>
  </div>
  <div class="button">
    <%= form.submit %>
  </div>
<% end %>

登録した画像の表示

<% if @user.image.attached? %>
  <%= image_tag @user.image %>
<% end %>

⑤コントローラーへの記述(パラメーターの許可)

一枚のみアップロードする場合

  private

  def user_params
    params.require(:user).permit(:name, :email, :image)
  end

複数枚アップロードするアップロードする場合

  private

  def user_params
    params.require(:user).permit(:name, :email, images: [])
  end

最後に

以上がActive Storageの設定になります。
簡単な内容になりますがここまで読んでいただきありがとうございます🫡

29
5
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
29
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?