Faker发出关于归属关系的种子数据

时间:2019-03-08 13:07:26

标签: ruby-on-rails activerecord faker

我有一个模型User,我最近与一个Team模型相关联。但是现在当我尝试播种数据库时,出现了一个长错误,开头为:

rake db:seed
rake aborted!
TypeError: superclass mismatch for class Team

我知道这可能是在创建类后尝试重新分配超类的结果,但是我已经查看了我的项目,并且没有为Team.rb重新声明超类。

这是我的种子。rb

需要“ faker” 包括Faker

5.times do
  User.create!(
    email: Faker::Internet.email,
    name: Faker::Name.first_name,
    password: Faker::Internet.password(8),
    team_id: 1 
  )
end

我应该注意,我没有使用Faker来为任何团队提供种子,因此team_id:现在应该永远是一个。

Team.rb

class Team < ApplicationRecord
  has_many :users
end

User.rb

class User < ApplicationRecord
  ...
 belongs_to :team
 has_many :user_tasks
 ...

来自.pry

pry(main)> show-source Team

From: /Users/tfantina/.rvm/gems/ruby-2.6.0/gems/faker-1.9.3/lib/faker.rb @ line 40:
Class name: Faker::Base
Number of lines: 210

** Warning: Cannot find code for Oregon chickens. Showing superclass Faker::Base instead. **

class Base
  Numbers = Array(0..9)
  ULetters = Array('A'..'Z')
  Letters = ULetters + Array('a'..'z')

0 个答案:

没有答案