# Terminal
rails g scaffold media name
rails active_storage:install
# models/medium.rb
class Medium < ApplicationRecord
has_one_attached :media
end
# media_uploads_controller.rb
class MediaUploadsController < ApplicationController
def create
params[:media].each do |blob|
Medium.create(media: blob)
end
redirect_to media_path
end
end
# config/routes.rb
resources :media_uploads, only: :create
# welcome/index.html.erb
<%= form_with url: media_uploads_path do |form| %>
<%= form.file_field :media, multiple: true, direct_upload: true %>
<%= form.submit %>
<% end %>
# views/media/index.html.erb
<%= tag :audio, src: url_for(medium.media),
controls: true if medium.media.attached? && medium.media.audio? %>