RAILS-如何允许用户向其个人页面添加音乐/定位播放列表?

时间:2018-11-09 23:16:09

标签: ruby-on-rails ruby ruby-on-rails-5 spotify

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

主要是如何使用户能够选择在页面上添加内容的功能(例如instagram用户如何上传图片,此处用户可以上传自己的歌曲/外部播放列表)

(用户历史记录并不重要)

2 个答案:

答案 0 :(得分:0)

如果您想让用户能够上传实际的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

一开始,铁路真的很吓人。它固执己见,势不可挡。如果您需要更多指导,请在我的个人资料中找到我的电子邮件:)我对n00b友好。

答案 1 :(得分:-1)

这里有两件事:

因此对于Spotify,您需要通过TuneCore之类的系统或其他方法才能在其中获取源文件。我认为Soundcloud可能会带您到那里,但是您可以让人们通过Carrierwave上传到您的站点。对于音频处理,您将需要做一些服务器工作以确保您拥有软件包(MP3编码需要LAME。我知道,这很愚蠢)。

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

这还将使您可以让人们上传自己的个人资料图片或其他图像等。

从那里,您可以在个人资料上拥有任何您喜欢的字段。如果要嵌入instagram feed等,则需要在处理过程中解决其中的每一个问题。我将从核心部分开始,做对,然后进行增强。