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