我基本上想要建立类似于Netflix的DVD租赁模式的关系。
有用户,每个用户都有一个队列,每个队列包含许多DVD,DVD可以有很多队列。队列属于用户。
我不太确定如何在活动记录中设置它。我认为可能是一个队列,用户应该是一个has_many:通过关系,但这没有多大意义。
感谢任何帮助!
答案 0 :(得分:1)
class User < ActiveRecord::Base
has_many :queues
end
class Queue < ActiveRecord::Base
belongs_to :user
has_many :dvd_queues
has_many :dvds, through: :dvd_queues
end
class Dvd < ActiveRecord::Base
has_many :dvd_queues
has_many :queues, through: :dvd_queues
end
class DvdQueue < ActiveRecord::Base
belongs_to :dvd
belongs_to :queue
end
在has_many
&amp;之间使用has_and_belongs_to_many
代替Dvd
关联的好处Queue
允许您将priority
等字段添加到DvdQueue
。
如果我希望用户能够,哪些模型需要视图和控制器 将DVD添加到队列中,并查看其队列
通常,您会为User,Queue和Dvd提供相应的控制器,这些控制器提供映射到标准路由的CRUD操作,并具有索引的视图,new&amp;编辑动作。