0

基本的には、Netflix の DVD レンタル モデルと同様の関係を構築したいと考えています。

ユーザーがいて、各ユーザーにはキューがあり、各キューには多くの DVD が含まれており、DVD には多くのキューを含めることができます。キューはユーザーに属します。

これをアクティブなレコードに設定する方法がよくわかりません。おそらくキューとユーザーは has_many :through 関係であるべきだと思いましたが、それはあまり意味がありません。

どんな助けでも大歓迎です!

4

1 に答える 1

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代わりに使用する利点は、 、 などのフィールドを に追加できることです。has_and_belongs_to_manyDvdQueuepriorityDvdQueue

ユーザーがキューに DVD を追加してキューを表示できるようにする場合、どのモデルにビューとコントローラーが必要か

通常、ユーザー、キュー、および Dvd に対応するコントローラーがあり、標準ルートにマップされた CRUD アクションを提供し、インデックス、新規および編集アクションのビューを備えています。

于 2012-06-19T01:19:15.327 に答える