ruby on rails - What is the purpose of a `transient do` block in FactoryGirl factories? -


what purpose of transient do in factorygirl factories?

i've seen lot of factories begin below.

factory :car   owner nil   other_attribute nil end ... 

i've found information on blog: http://blog.thefrontiergroup.com.au/2014/12/using-factorygirl-easily-create-complex-data-sets-rails/

but still don't understand how , why this. experience factorygirl minimal.

could experience using factorygirl share insight?

transient attributes allow pass in data isn’t attribute on model.

say have model called car following attributes:

  • name
  • purchase_price
  • model

you want capitalize name of car when create car model in factory. can is:

factory :car   transient     # capitalize not attribute of car     capitalize  false   end    name           { "jacky" }   purchase_price { 1000 }   model          { "honda" }    after(:create) |car, evaluator|     car.name.upcase! if evaluator.capitalize   end end 

hence, whenever create car factory , want capitalize name. can

car = factorygirl.create(:car, capitalize: true) car.name # => "jacky" 

hope helps.


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -