Если вы хотите дать пользователю возможность загружать фактический mp3-файл (или аналогичный), вам следует посмотреть ActiveStorage / Скрепка / Carrierwave / Shrine . ActiveStorage тесно связан с Rails, поэтому, возможно, проще всего начать с него.
Если вы используете ActiveStorage, вам не нужно будет писать ассоциации или поля файла; это сделает это для вас. Вам просто нужно будет ввести has_many_attached
, и, учитывая, что ваше файловое поле называется Song
, оно будет выглядеть примерно так:
class User < ApplicationRecord
has_many_attached :songs
end
Чтобы начать локально, вы можете настроить приложение Rails так, чтобы оно просто использовало ваше локальное хранилище; вам не нужно запутываться с любым удаленным хранилищем, пока вам это не понадобится (например, производство).
В профиле пользователя (если он есть) вы можете просто сослаться на songs
, например:
@user.songs.each do ... end
Rails поначалу очень пугает. Это самоуверенное и подавляющее. Если вам нужно больше указаний, моя электронная почта в моем профиле :) Я дружелюбен к n00b.