Rails has_many и own_to на одной модели

У меня есть школьная модель, которая имеет: много пользователей. Но в каждой школе также есть primary_user. Вот моя модель:

 has_many :users
 belongs_to :primarycontact, :class_name => "User"

Это отлично работает в моем приложении для моего производства и разработки, но во время тестирования выдает ошибки на уровне стека в FactoryGirl. Ассоциации плохо пахнут, а ошибки на уровне стека в тестировании указывают мне, что, возможно, есть лучший способ.

Есть ли способ лучше? ... есть идеи, почему FactoryGirl борется с этим?

моя фабрика

  FactoryGirl.define do
    factory :school do
      name "Test School"
      association :primarycontact, factory: :user, name: "Primary User"
    end
  end

Трассировки стека

  Userdoc
    test_0001_must be valid 0:00:09.143 ERROR
      stack level too deep
      Exception `SystemStackError' at:

Итак, ошибка возникла в третьей модели, Userdoc. Когда фабрика создает Userdoc, она создает пользователя. Пользователь должен принадлежать школе, чтобы фабрика также создавала школу. Но когда запускается школьная фабрика, она также пытается создать пользователя из-за ассоциации первичного контакта.

0 ответов

Другие вопросы по тегам