首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当db:seed时,Rails seed不在数据库中创建实例

当db:seed时,Rails seed不在数据库中创建实例
EN

Stack Overflow用户
提问于 2019-01-15 05:37:42
回答 1查看 63关注 0票数 0

我正在尝试创建一个像API这样的小型电子商务。我正在尝试使用Faker创建模拟用户,并创建一个购物车实例,在种子创建期间使用它作为外键(每个用户都应该有一个购物车)。我尝试了两种不同的方法

这些文件在db文件夹中的seed.rb文件中尝试1: 5次执行Product.create({标题: Faker::Commerce.product_name,价格: Faker::Commerce.price,inventory_count: Faker::Number.number(2) })

代码语言:javascript
复制
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 })

代码语言:javascript
复制
  User.create({
                  name: Faker::Name.name,
                  shopping_carts_id: cart.id
              })
    end
end

这是模型

代码语言:javascript
复制
class ShoppingCart < ApplicationRecord
  belongs_to :users
  has_many :products
end

当我运行seed时,用户被创建得很好,但是没有购物车。用户应该有一个外键指向它的购物车。我是rails的新手,很难理解数据库之间的关系。

EN

回答 1

Stack Overflow用户

发布于 2019-01-15 05:47:33

您是否尝试过通过迁移添加外键并查看结果?

rails g migration AddForeignKeyToShoppingCart

然后在新的迁移文件中添加以下内容:

代码语言:javascript
复制
def change
  add_foreign_key :shopping_carts, :users
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54189545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档