我正在尝试创建一个像API这样的小型电子商务。我正在尝试使用Faker创建模拟用户,并创建一个购物车实例,在种子创建期间使用它作为外键(每个用户都应该有一个购物车)。我尝试了两种不同的方法
这些文件在db文件夹中的seed.rb文件中尝试1: 5次执行Product.create({标题: Faker::Commerce.product_name,价格: Faker::Commerce.price,inventory_count: Faker::Number.number(2) })
end
3.times do
ShoppingCart.create({
total_price: 0
}) do |t|
User.create({
name: Faker::Name.name,
shopping_carts_id: t.id
})
end
end尝试2:(创建相同的产品)
3.乘以购物车= ShoppingCart.create({ total_price: 0 })
User.create({
name: Faker::Name.name,
shopping_carts_id: cart.id
})
end
end这是模型
class ShoppingCart < ApplicationRecord
belongs_to :users
has_many :products
end当我运行seed时,用户被创建得很好,但是没有购物车。用户应该有一个外键指向它的购物车。我是rails的新手,很难理解数据库之间的关系。
发布于 2019-01-15 05:47:33
您是否尝试过通过迁移添加外键并查看结果?
rails g migration AddForeignKeyToShoppingCart
然后在新的迁移文件中添加以下内容:
def change
add_foreign_key :shopping_carts, :users
endhttps://stackoverflow.com/questions/54189545
复制相似问题