RAILS - 如何允许用户将 music/spotify 播放列表添加到他们的个人页面?

RAILS -how to allow user to add music/spotify playlists to their personal page?

对于 rails 学校项目的 ruby(无意公开使用),我希望允许用户使用 spotify/soundcloud 之类的方式将音乐播放列表上传到他们的页面,关于如何实现这个的任何想法?

主要是如何让用户能够选择在他们的页面上添加什么,(例如 instagram 用户如何上传图片,在这里用户可以上传他们自己的 songs/external 播放列表)

(用户历史不重要)

这里有两个不同的东西:

所以对于 Spotify,您需要通过 TuneCore 之类的系统或其他方式来获取其中的源文件。我认为 Soundcloud 可能会让你到达那里,但你可以让人们使用 Carrierwave 上传到你的网站。对于音频处理,你需要做一些服务器工作以确保你有包(MP3 编码需要 LAME。我知道,愚蠢的名字)。

https://github.com/carrierwaveuploader/carrierwave https://github.com/TrevorHinesley/carrierwave-audio

这还允许您让人们上传他们自己的个人资料照片或其他图片等。

从那里,您可以在配置文件中添加您喜欢的任何字段。如果你想嵌入 Instagram 提要等,你需要在进行时处理每一个问题。我会从核心部分开始,把它做好,然后再增强。

如果您想让用户能够上传实际的 mp3 文件(或类似文件),您应该查看 ActiveStorage/Paperclip/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一开始真的很吓人。这是自以为是和压倒性的。如果您需要更多指导,我的电子邮件在我的个人资料中 :) 我很友好。