Фейкер выдает данные о посеве в отношении принадлежащих вам - PullRequest
0 голосов
/ 08 марта 2019

У меня есть модель User, которую я недавно связал с Team моделью.Но теперь, когда я пытаюсь заполнить свою базу данных, я получаю длинную ошибку, которая начинается с:

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

Я понимаю, что это может быть результатом попытки переназначить суперкласс после создания класса, но япросмотрел мой проект, и я не объявляю суперкласс для Team.rb.

Это мои seed.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')
...