Ho letto this da Thoughtbot ma continua a confondermi.Quali sono gli attributi transitori factory_girl? Perché dovrei usarne uno?
questo è il loro esempio:
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"
Quindi,
- È
.upcased
un vero e proprio attributo sul modello? - Che cosa fa veramente il blocco
transient
? Impostazione delle variabili che possono quindi essere utilizzate in fabbrica? - Che cos'è
evaluator
? Ha sempre bisogno di essere passato per ultimo? Cosa succede se la tua funzionecreate
utilizza tratti, transienti e ha più valori?
Anche ho letto la documentazione e ho avuto la stessa confusione come l'esempio non è così chiara. Grazie: +1: – rajuGT