Ruby on rails活动记录关联

时间:2012-01-07 17:23:28

标签: ruby-on-rails activerecord model-associations

我的商店需要2个型号:

  1. ShoeSize
  2. 根据我的概念 - 一只鞋可以有几种尺码(一种鞋型可以是34,35,36,37尺寸)。

    我应该使用哪种类型的协会?我需要创建哪些数据库表文件来支持这些关联?

    以下是使用模型的示例:

    Shoe.find(1).shoe_sizes => 34,35,36
    
    ShoeSize(2).shoes => #Shoe1, #Shoe2, #Shoe5
    

1 个答案:

答案 0 :(得分:1)

您应该使用has_and_belongs_to_many关系。

class Shoe
  has_and_belongs_to_many :shoe_sizes
end

class ShoeSize
  has_and_belongs_to_many :shoes
end

这是因为鞋子可以有很多鞋子尺寸,同样也有一种鞋子适合不同的鞋子。