Rails和MySQL - 结构产品的尺寸和价格

时间:2016-09-05 10:09:22

标签: mysql ruby-on-rails

在Rails中构建模型和迁移的正确方法是什么,所以我可以建立这样的关系:

Relationships

我认为图像足够清晰,但是:

  1. 一种产品可以有不同的尺寸
  2. 尺寸可以根据与之关联的产品而有不同的价格。
  3. 我是一个学校项目,也是唯一一个用代码完成任务的人,我们需要构建类似于此的东西(它是生物学的,但想法是一样的)。

    会产生:

    对于产品:

    rails generate model Product name:string
    
    class Product < ApplicationRecord
        has_many :sizes
        has_many :prices
    end
    

    尺寸:

    rails generate model Size size:string product:references
    
    class Size < ApplicationRecord
        has_many :products
        has_many :prices
    end
    

    价格:

    rails generate model Price price:decimal size:references product:references
    
    class Price < ApplicationRecord
        has_many :sizes
        has_many :products
    end
    

    解决我的问题?

    我正在阅读this,但它没有帮助。

1 个答案:

答案 0 :(得分:1)

可以这样 -

Product型号:

has_many :sizes
has_many :prices, through: :sizes

Size型号:

 has_many :prices
 belongs_to :product

Price型号:

belongs_to :size