我有一个正在处理的应用程序,它是一个视频流应用程序,我正在尝试实现的功能是播放列表(用户可以使用唯一名称查看的视频集合)。
在我的协会中:
user => has_many playlists,
video => belongs_to playlists,
playlist => belongs_to user
PS。在我的应用中,普通用户无法仅创建视频管理员。
创建播放列表后,用户应该能够通过按钮将视频添加到播放列表。如果我是正确的,播放列表应该是一个数组。并且会有一个函数添加_to _playlist,它将通过video_id检索视频,然后将其推入数组并返回最终的播放列表。
我的主要问题是,我对如何实施非常感到困惑。任何帮助都会很乐意欣赏。
答案 0 :(得分:1)
如果您正在使用ActiveRecord并希望将数组与模型实例相关联,则应使用serialize
类方法。
来自the docs:
class User < ActiveRecord::Base
serialize :preferences
end
user = User.create(preferences: { "background" => "black", "display" => large })
User.find(user.id).preferences # => { "background" => "black", "display" => large }
该示例使用散列,但serialize
也允许数组。如果您只想将属性限制为数组,可以这样做:
serialize :attr, Array