Czytam this z Thoughtbot, ale nadal jest to dla mnie mylące.Co to są przejściowe atrybuty factory_girl? Dlaczego miałbym go używać?
To jest ich przykładem:
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"
Więc
- Czy
.upcased
prawdziwy atrybut modelu? - Co naprawdę robi blok
transient
? Ustawianie zmiennych, które można następnie wykorzystać w fabryce? - Co to jest
evaluator
? Czy to zawsze musi być przekazane jako ostatnie? Co się stanie, jeśli funkcjacreate
używa cech, przebiegów transjentów i ma wiele wartości?
Nawet ja przeczytać dokumentację i miałem to samo zamieszanie jako przykład nie jest tak oczywiste. Dzięki: +1: – rajuGT