【发布时间】:2014-06-22 18:51:37
【问题描述】:
我想在我的 Ruby on Rails 应用程序中创建一个播放列表概念。目前,我只有一个Content 模型,这就是播放列表中的内容。
我已经知道我需要的关联,并且我正在使用through:,因为我需要连接表中的order 属性,以了解每个 内容 的顺序>播放列表。
class Playlist < ActiveRecord::Base
has_many :contents_playlists
has_many :contents, through: :contents_playlists
end
class Content < ActiveRecord::Base
has_many :contents_playlists
has_many :playlists, through: :contents_playlists
end
class ContentsPlaylist < ActiveRecord::Base
belongs_to :content
belongs_to :playlist
end
我的问题是我不是 RoR 方面的专家,关于这种关联我知道理论(已经阅读过 Rails 指南),但我无法在没有错误的情况下执行它。我猜是因为我失去了一些东西。
我搜索并搜索了带有代码的教程和示例,但一无所获。所以,我正在寻求一些帮助:如何将该属性添加到连接表(我已经使用 scaffold 创建了它,但我敢打赌这不是推荐的......),以及如何管理视图和控制器,为我提供了一个界面来将内容添加到播放列表并查看播放列表中的内容以及顺序。
【问题讨论】:
-
您遇到了什么错误?
-
当我尝试构建一个视图以创建一个
ContentsPlaylist表单时发生错误,该表单包含content_id、playlist_id和order。我的猜测是我真的不知道如何使用order属性创建ContentsPlaylist表,而且我不知道以后如何使用关联。我的目标是有一个视图,我可以将content添加到playlist和order(位置)。我做不到。 -
如果是订单,那么这里有一个可以查看的宝石:acts_as_list,railscasts.com/episodes/147-sortable-lists-revised
-
我只希望
Contents 在播放列表中时被订购。会有不止一个播放列表,所以...我已经看过那集,但这不是我想要的。
标签: ruby-on-rails ruby associations has-many-through playlist