我有一个非常笼统的具体问题。
我想创建一个名为"订单"的数据库实体,它由"产品"和产品数量组成。我想我已经完成了前几个步骤:
首先,我将创建订单和产品模型
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
现在对于订单 2 重复步骤
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
将自动填充第 3 个表Products_orders。如果您需要更多解释,请告诉我。只需在种子中写相同的内容即可工作。您可以添加进一步的检查是产品或用户已经退出等。
谢谢