【150日目】【1日20分のRailsチュートリアル】【第11章】マイクロポストのサンプルデータを追加する
今日は「11.2.2 マイクロポストのサンプル」から。
11.2.2 マイクロポストのサンプル
すべてのユーザーにマイクロポストを追加しようとすると時間が掛かり過ぎるので、takeメソッドを使って最初の6人だけに追加します。
(中略)
この6人については、1ページの表示限界数 (30) を越えさせるために、それぞれ50個分のマイクロポストを追加するようにしています。
ほほぅ…。適当な任意のユーザー1人だけ、とかじゃないのか。
そっか、自動生成するんだもんね。。。何人でも何個でもできるか。
“テストデータ"って考えると手作業で適当なデータ入れる手順を思い浮かべてしまうんだけど、自動生成できるんだもんねぇ。 そう、Ruby on Railsならね。(
というわけでサンプルデータにマイクロポスト追加しましょう。
db/seeds.rb
users = User.order(:created_at).take(6) 50.times do content = Faker::Lorem.sentence(5) users.each { |user| user.microposts.create!(content: content) } end
ここで、いつものように開発環境用のデータベースで再度サンプルデータを生成します。
$ bundle exec rake db:migrate:reset $ bundle exec rake db:seed
よし、サンプルデータを再生成したので実際の表示を見てみよう。
サーバーを起動して
$ rails server -b $IP -p $PORT
example@railstutorial.org
のアカウントでログイン。
プロフィールページにマイクロポストが表示されました!
図11.6のページにはマイクロポスト固有のスタイルが与えられていないので、リスト11.25を追加して、結果のページを見てみましょう。
レイアウトひどいなと思ってました。スタイル追加しましょう。
app/assets/stylesheets/custom.css.scss
: /* microposts */ .microposts { list-style: none; padding: 0; li { padding: 10px 0; border-top: 1px solid #e8e8e8; } .user { margin-top: 5em; padding-top: 0; } .content { display: block; margin-left: 60px; img { display: block; padding: 5px 0; } } .timestamp { color: $gray-light; display: block; margin-left: 60px; } .gravatar { float: left; margin-right: 10px; margin-top: 5px; } } aside { textarea { height: 100px; margin-bottom: 5px; } } span.picture { margin-top: 10px; input { border: 0; } }
きれいになったー!
他の任意のユーザーもマイクロポスト表示されてます。
ページャーも問題なし。
今日の学習時間は【25分】。
次は「11.2.3 プロフィール画面におけるマイクロポストのテスト」から。