AR삽질러

Rails 一日一つメソッド (Day42) Active Storage - has_many_attached 본문

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