Resources

 
Download Source Code

Summary

# 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? %>