初めに
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の設定になります。
簡単な内容になりますがここまで読んでいただきありがとうございます🫡