ぞえの技術めも

Ruby on Rails勉強中

【107日目】【1日20分のRailsチュートリアル】【第9章】サンプルユーザーを一気に追加する

Ruby on Railsチュートリアル(第3版)

今日は「9.3.2 サンプルのユーザー」から。

9.3.2 サンプルのユーザー

この節では、一人ぼっちのユーザーに仲間を加えてあげることにします。
(中略)
せっかくなのでRubyとRakeを使用してユーザーを一気に作成しましょう。

一気に作成できるなら一気に作成しましょう。

まず、GemfileにFaker gemを追加します (リスト9.38)。これは、実際にありそうなユーザー名とメールアドレスを持つサンプルユーザーを自動的に作成するものです。

へー。いちいちテスト用ユーザーを考えなくていいからいいね。

Gemfile

  :
gem 'faker',                '1.4.2'
  :

Gemfileを更新したら以下コマンドを実行。

$ bundle install
Installing faker 1.4.2

インストールできた。

では、サンプルユーザーを生成するRakeタスクを追加してみましょう。

サンプルユーザーを計100人(1人 + 99人)分生成するタスクを追加する。

db/seeds.rb

User.create!(name:  "Example User",
             email: "example@railstutorial.org",
             password:              "foobar",
             password_confirmation: "foobar")

99.times do |n|
  name  = Faker::Name.name
  email = "example-#{n+1}@railstutorial.org"
  password = "password"
  User.create!(name:  name,
               email: email,
               password:              password,
               password_confirmation: password)
end

Fakerを使うのはユーザー名だけなのかー。

それでは、データベースをリセットして、リスト9.39のRakeタスクを実行 (db:seed) してみましょう。

$ bundle exec rake db:migrate:reset
$ bundle exec rake db:seed

ちょっと時間かかった。

サンプルユーザーの追加ができたので実際の表示を確認してみる。

サーバーを起動して

$ rails server -b $IP -p $PORT

<ローカルアドレス>/usersにアクセス。
したらログインを要求されるので"Example User"のアカウントでログイン。

f:id:kt_zoe:20170206123956p:plain

ユーザーがたくさん表示されてます。さみしくない!

最初のいくつかのメールアドレスについては、デフォルトのGravatar画像以外の写真を関連付けてみました。

なるほど、メールアドレスをexample-*@railstutorial.orgにしたのはこのためか。。
自動生成にするとGravatar画像見れないもんね。

今日の学習時間は【20分】

次は「9.3.3 ページネーション」から。