Rails:我如何实现这种关系模型?

时间:2014-06-20 17:15:20

标签: ruby-on-rails

我希望创建一个简单的关系模型,其中包含以下内容:

我有两个主要项目。 Product / WishList

他们之间的关系非常简单WishList has_many :productsProduct belongs_to_many :wishlists

我知道没有belongs_to_many关联,这很简单,我似乎无法围绕正确的关系模式。

如果有人能提出一个很好的方法来实现这一点,那将非常感激。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以选择has_many :throughhas_and_belong_to_many关系。

如果您需要将其他属性附加到将成为桥梁的模型(例如,如果您想订购心愿单的位置),则选择第一个,否则选择第二个(更多关于{{3} })

所以它看起来像是这样

class Product < ActiveRecord::Base
  has_many :items
  has_many :wishlists, through: :items
end

class Item < ActiveRecord::Base
  belongs_to :product
  belongs_to :wishlist
end

class Wishlist < ActiveRecord::Base
  has_many :items
  has_many :products, through: :items
end