Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a Factory association that defaults to nil?

Using the FactoryGirl gem, inside the factories.rb file, how can I create a factory with an association that defaults to nil?

I am thinking something along these lines:

Factory.define :user do |factory|
  factory.association :post
  factory.association :comment, :default => nil
end

Would that be right and would that be ok to do?

like image 319
John Avatar asked Dec 08 '11 21:12

John


1 Answers

FactoryGirl now benefits from a :null strategy. Therefore, you can define your association like this:

factory :user do
  association :post
  association :comment, strategy: :null
end

This will leave the association set to nil when using this factory. It's better to use this strategy than not defining the association altogether, because you can easily change strategies in traits/in the future.

like image 132
linkyndy Avatar answered Oct 20 '22 08:10

linkyndy