Что такое временные атрибуты factory_girl? Зачем мне использовать один?
Я читаюэтот от Thoughtbot, но это все еще смущает меня.
Это их пример:
factory :user do
transient do
rockstar true
upcased false
end
name { "John Doe#{" - Rockstar" if rockstar}" }
email { "#{name.downcase}@example.com" }
after(:create) do |user, evaluator|
user.name.upcase! if evaluator.upcased
end
end
create(:user, upcased: true).name
#=> "JOHN DOE - ROCKSTAR"
Так,
Является.upcased
реальный атрибут на модели?Чтоtransient
блок реально делаешь? Установка переменных, которые затем могут быть использованы на заводе?Что такоеevaluator
? Всегда ли это должно быть передано последним? Что делать, если вашcreate
Функция использует черты, переходные процессы и имеет несколько значений?