はじめに
今、twitterのポートフォリオを作成しているものでございます。Userを一つ一つ生成ではなく、自動生成したいということで、Fakerというgemがあったので使ってみました。
Fakerとは
先にいうと、 "ダミーデータを自動生成してくれるもの" です。
先ほども述べましたが、自分で一つ一つ$ rails c
などで作ったりするのが面倒臭いというような人には嬉しいgemです。
使い方
1, gemを入れる
まず、gemを入れてからgemをインストールしていきます。
※下記をGemfileに記載してください。
gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master'
※Gemfileに記述を終えたらターミナルでインストールします。
$ bundle install
これでFakerが使用できるようになります。
2, seeds.rbに記述する
次に、usersテーブルに100件のダミーデータを追加していきます。
今回、name, email, password の3つのカラムにダミーデータを生成します。
(db/seeds.rb)
100.times do |n|
name = Faker::Pokemon.name
email = Faker::Internet.email
password = "password"
User.create!(name: name,
email: email,
password: password,
password_confirmation: password,
)
end
また、userのnameカラムにはname = Faker::Pokemon.name
というコードを入れており、これはname変数にポケモンの名前がランダムで入っていきます。
Fakerで生成できるものはGitHubのREADMEに全て載っています。
ワンピースのキャラクターとかまでいろいろあります。
入力が終わったら、ターミナルで下記のコマンドを実行してください。
$ bundle exec rails db:seed
3, seeds.rbのデータが反映されたか確認
記述したseeds.rbのデータが反映されたか確認していきます。
$ bundle exec rails c
irb(main):001:0> User.count
=> 102
データベースでも確認してみると、しっかり生成されておりました。
終わりに
すごく便利な機能だったので、記事にしてみました。
もし、間違っている点等があった場合はご教示いただけますと幸いです。
また、未経験でITエンジニアになりたい方へ向けて記事を書いています。
「未経験からエンジニアに転職するため為、やってよかったことと。やっとけばよかったこと。4つのこと。」
誰かの糧になれたら幸いです。