ぞえの技術めも

Ruby on Rails勉強中

【172日目】【1日20分のRailsチュートリアル】【第12章】Relationshipのサンプルデータを生成する

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

今日は「12.2 フォローしているユーザー用のWebインターフェイス」から。

12.2 フォローしているユーザー用のWebインターフェイス

この節では、モックアップで示したようにフォロー/フォロー解除の基本的なインターフェイスを実装します。また、フォローしているユーザーと、フォロワーにそれぞれ表示用のページを作成します。

システム的なところが実装できたので次はビューを実装する感じかな。

12.2.1 フォローしているユーザーのサンプルデータ

1つ前の章のときと同じように、サンプルデータを自動作成するRakeタスクを使用して、データベースに実際のデータを登録するのがやはり便利です。

インターフェース作る前にサンプルデータを生成する。

リスト12.14は、リレーションシップのサンプルデータを生成するためのコードです。ここでは、最初のユーザーにユーザー3からユーザー51までをフォローさせ、それから逆にユーザー4からユーザー41に最初のユーザーをフォローさせます。

ふむふむ、サンプルデータとして最初のユーザーを使うんですね。

db/seeds.rb

# リレーションシップ
users = User.all
user  = users.first
following = users[2..50]
followers = users[3..40]
following.each { |followed| user.follow(followed) }
followers.each { |follower| follower.follow(user) }

リスト12.14を実行してデータベース上のサンプルデータを作り直すために、いつものコマンドを実行しましょう。

コマンド実行。これでサンプルデータ作り直せたかな。

$ bundle exec rake db:migrate:reset
  :
== 20170726030438 CreateRelationships: migrating ==============================
-- create_table(:relationships)
   -> 0.0007s
-- add_index(:relationships, :follower_id)
   -> 0.0005s
-- add_index(:relationships, :followed_id)
   -> 0.0008s
-- add_index(:relationships, [:follower_id, :followed_id], {:unique=>true})
   -> 0.0013s
== 20170726030438 CreateRelationships: migrated (0.0036s) =====================
$ bundle exec rake db:seed

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

次は「12.2.2 統計とフォロー用フォーム」から。