У меня есть следующая фабричная девушка для создания пользователя:
FactoryGirl.define do
factory :user do
first_name 'Colin'
last_name 'Ambler'
password 'dell13a1'
address_zip '60657'
trait :event_operator do
role Role.find_or_create_by(role_title: "Event Operator", name: "event_operator")
email "[email protected]"
end
trait :athletic_trainer do
role Role.find_or_create_by(role_title: "Athletic Trainer", name: "athletic_trainer")
email "[email protected]"
end
end
end
Как видите, я использую trait
для определения роли пользователя и настройки другого адреса электронной почты.
У меня есть другая модель с именем Event
, событие принадлежит athletic_trainer
, это имя ассоциации, оно просто указывает на модель пользователя, поэтому я использую Factory Girl для создания события следующим образом:
FactoryGirl.define do
factory :event do
event_type Event.event_types[:tournament]
sport Event.sports[:lacrosse]
event_title "NXT Cup"
event_logo { Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'images', 'nxt_cup_logo.png')) }
gender Event.genders[:boys]
event_pay_rate 40
event_participant_numbers 3
event_feature_photo { Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'images', 'nxt_cup_feature.jpg')) }
event_description "We roll out the red carpet for North America's top youth talent. The nations top youth teams descend on the premier facilities in the Philadelphia region to battle it out and stake claim to one of the summers most highly coveted trophies...the NXT Cup."
event_operator
end
end
как видите, я добавляю event_operator
в конце события factory girl, чтобы указать ассоциацию пользователей, однако таким образом у меня нет доступа к пользователю, связанному с factory girl.
можно ли отправить атлетический_тренер в качестве параметра фабричной девушке события? Я имею в виду, что хочу создать пользователя с помощью фабричной девушки, а затем создать событие, но связать только что созданного пользователя, возможно ли это?