В приложении Rails я использую FactoryGirl для определения общей фабрики и нескольких более конкретных признаков. Общий случай и все, кроме одного из признаков, имеют определенную связь, но я хотел бы определить черту, в которой эта ассоциация не создается/не строится. Я могу использовать обратный вызов after
, чтобы установить id
ассоциации в nil
, но это не мешает созданию записи ассоциации в первую очередь.Отключение ассоциации FactoryGirl в признаке
Есть ли способ определения определения, чтобы полностью отключить создание/создание ассоциации, которая была определена для фабрики, к которой принадлежит этот признак?
Например:
FactoryGirl.define do
factory :foo do
attribute "value"
association :bar
trait :one do
# This has the bar association
end
trait :two do
association :bar, turn_off_somehow: true
# foos created with trait :two will have bar_id = nil
# and an associated bar will never be created
end
end
end
Хм, не уверен, если я понимаю, это правильно. Вы говорите, что хотите запретить Rails от вызова обратных вызовов, которые создают другие связанные экземпляры модели, когда вы создаете экземпляр модели, когда используете FactoryGirl для создания экземпляра модели? –
@ dmtri.com: Я добавил пример, помогает ли это объяснить, что я пытаюсь сделать? – jrdioko