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, она создает пользователя. Пользователь должен принадлежать школе, чтобы фабрика также создавала школу. Но когда запускается школьная фабрика, она также пытается создать пользователя из-за ассоциации первичного контакта.