Если я правильно понял, ваша логика выглядит немного не так.Чтобы иметь ПАКЕТ, ДОЛЖЕН ИМЕТЬ ПУНКТ;Чтобы иметь ПУНКТ, ДОЛЖЕН ИМЕТЬ ПАКЕТ.По крайней мере, один из них должен быть разрешен для создания без необходимости другого.
Если это помогает, вот как вы автоматически создаете зависимость от самой Фабрики.В этом примере Packages зависит от пользователя, а Item зависит от пакета.Волшебство здесь - это метод ассоциация .
Конечно, вы должны правильно выполнить ассоциации ваших моделей.
(во-первых, фабрика пользователей)
FactoryGirl.define do
factory :user do
name { "Some_Name" }
end
end
(Тогда, Фабрика пакетов, которая зависит от Пользователя)
FactoryGirl.define do
factory :package do
description { "Some_Description" }
user { association(:user) }
end
end
(Тогда, Предмет, который зависит от Пакета)
FactoryGirl.define do
factory :item do
description { "Some_Description" }
package { association(:package) }
end
end
Надеюсь, это поможет!