Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建一个';订单';模型由';产品';和';数量';[轨道]_Ruby On Rails_Database - Fatal编程技术网

Ruby on rails 创建一个';订单';模型由';产品';和';数量';[轨道]

Ruby on rails 创建一个';订单';模型由';产品';和';数量';[轨道],ruby-on-rails,database,Ruby On Rails,Database,我有一个具体的问题,也是相当普遍的 我想创建一个名为“订单”的数据库实体,它由“产品”和产品数量组成。我想我已经完成了最初的几个步骤: 首先,我将创建订单和产品模型 rails g model product rails g model order rails g migration createJoinTableProductOrder product order rails db:migrate 如何使用以下内容为数据库设置种子: 与许多产品关联的订单 关于每个订单中每个产品数量的信息

我有一个具体的问题,也是相当普遍的

我想创建一个名为“订单”的数据库实体,它由“产品”和产品数量组成。我想我已经完成了最初的几个步骤:

首先,我将创建订单和产品模型

rails g model product
rails g model order
rails g migration createJoinTableProductOrder product order 
rails db:migrate 
如何使用以下内容为数据库设置种子:

  • 与许多产品关联的订单
  • 关于每个订单中每个产品数量的信息
  • 种子应该是这样的:

    Product A 
    Product B
    
    Order 1 has 3 of Product A and 2 of Product B
    Order 2 has 1 of Product A and 1 of Product B
    

    任何帮助都将不胜感激

    让我举例说明

    class Product
      has_and_belongs_to_many :orders
    end
    
    class Order
     has_and_belongs_to_many :products
    end
    
    创建订单和产品

    order_1 = Order.create(:name => "Order1")
    products_a = 3.each{|i| Product.create(name: "Product_A_#{i}")  }
    products_b = 2.each{|i| Product.create(name: "Product_B_#{i}")  }
    order_1.products << products_a
    order_1.products << products_b
    
    order\u 1=order.create(:name=>“Order1”)
    products_a=3.每个{i| Product.create(名称:“Product_a{i}”)}
    products|b=2.每个{i| Product.create(名称:“Product|b|i}”)}
    
    order_1.products您想要播种什么需要更多解释。添加了一些伪代码:)问题中没有伪代码。这更像是您想要的输出。您的问题是什么?我的问题是如何创建伪代码中所示的种子:)这非常有意义,谢谢!再问一个问题,对于每个订单来说,了解每个产品的数量的最佳方法是什么?我想在一个新的列中使用一个对象,比如:数量:“{{product_a.id}:12,{product_B.id}:4}”@timothyylim您可以在产品表中使用类型category,然后您可以像@order.products.where(:product_type=>'a').count@order.products.where(:product_type=>'B').count那样进行查询
    order_2 = Order.create(:name => "Order2")
    product_a = Product.create(name: "Product_a")
    product_b = Product.create(name: "Product_b") 
    order_2.products << products_a
    order_2.products << products_b