我有一个模型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')