プログラミング的なSomething

プログラミング的なSomething

ITエンジニア(?)目線で生活・自転車・トレーニング話を綴ります

FactoryGirlでたくさんのサンプルデータを作成する

FactoryGirlでひとつひとつデータを用意するのは大変

大変ですので一気に作成する場合の作例をメモります。

factory :user do
  sequence(:name)  { |n| "Person #{n}" }
  sequence(:email) { |n| "person_#{n}@example.com"}   
・
・
・

sequenceメソッドは引数に持たせたい属性値を持たせます。 作例ではnameとemailという属性値を持たせています。sequenceは変数nを持ち、なおかつ自動的にnはインクリメントされますので、Person_1,Person_2.....と、カウントアップしていきます。

普通に使う分には以下のようになります。

FactoryGirl.create(:user)

一気にたくさん宣言する場合には以下のようになります。

30.times { FactoryGirl.create(:user) }