Ruby/RubyOnRails-日本語
Rails 一日一つメソッド (Day42) Active Storage - has_many_attached
아랑팡팡
2024. 2. 27. 20:06
728x90
Rails 一日一つメソッド (Day42) Active Storage - has_many_attached
1. Active Storageとは
- Railsの公式ライブラリーで、fileアップロード作業を簡単に処理できるようにする。
2. has_many_attachedとは
- has_many_attachedは、Railsの Active Storageモジュールで提供する機能で、Modelオブジェクトは複数のimageを持つ事ができる。
3. has_many_attachedを使って fileアップロード実装
1) Active Storage設置
rails active_storage:insall
2) Model設定
class User < ApplicationRecord
has_many_attached :images
end
3) Controller
class UsersController < ApplicationController
def create
@user = User.new(user_params)
if @user.save
redirect_to @post, notice: 'Userが作成されました'
else
render :new
end
end
private
def user_params
params.require(:user).permit(:name, images: [])
end
end
4) View作成
<%= form_with(model: @post, local: true) do |form| %>
<%= form.label :name %>
<%= form.text_field :name %>
<%= form.label :images, "Image" %>
<%= form.file_field :iamges, multiple: true %>
<%= form.submit '作成' %>
<% end %>
5) View
<% @user.images.each do |image| %>
<%= image_tag image %>
<% end %>
728x90
반응형
LIST