Ruby on Rails チュートリアル やってみてる ~5章~
はい、どうもこんにちわ。
どうですか?そうですか。
今回は5章になります。
今回の章、とても楽しかったです。
まずBootstrapに触るのが初めてだったので、その簡単さと美しさに感動してしまいました。学びには感動が伴うとモチベーションも上がって素敵です。見た目をいじくるのはやっぱ楽しい。
それと、4章が結構しんどかったなぁという印象を持っていたのですが、前回も書いた通り、「3日間掛けてこの章を終わらせよう」って感じで進めると気楽で良かったです。
結局は3日掛からず気付いたら2日目に終わっていました。あららら。
では、第5章のまとめいってみよう。
5章の概要
タイトルにもある通り、今あるしょぼいレイアウトをTwitter社が無償で提供しているBootstrapを使って豪華に改造していきます。
何気にIE対策のコードなんかも入ってたんだけど、こういうコメントの仕方でIE対策してるんだなぁと感動したりしました。
それぞれのページについて共通のグローバルメニューやロゴ、フッターを追加し、まだ中身は空っていうかURLは指定していないけどリンクを作ったり。このリンクってのが今回とても重要なところでした。
Bootstrapをインストールして初めて見た時の感動ったらなかった。しかもcssやらscssってのをいじってどんどん美しくなっていく。初めて触る人は感動間違いなし。
途中Asset Pipelineってやつが如何に素晴らしいものかっていうブロックがあるんだけど、結局意味わかんないから飛ばしちゃった。
チュートリアルが終わってからもまだ意味がわかんなかったらちゃんと調べてみる。
で、scssっていうやつでスタイルシートを美しく整形していったり、スタイルシートにも変数が使えちゃうんだよということなどを解説。最終的に読みやすくて重複のないスタイルシートのファイルが出来上がった。
見た目が仕上がったら次はさっき言ってたリンク。ルーティングがちゃんとされているかというテストをそれぞれのページに対して書く。/static_pages/homeを叩かなくてもhttp://localhost:3000/を叩けばhomeが表示されるようになります。
ルーティングが終わったらテストの見直しです。重複しているコードをまとめるようにリファクタリングしまくっていきます。どんどんまとまっていきます。面白いです。
最後にユーザー登録画面を作って、Sign up now! をクリックするとページが開かれるところまでテストも込みで作って終了。
この章が終わったら見た目がかっこ良くなってほぼすべてのページが作り終わり、ルーティングもほぼ完了しているという感じです。
ハマったところ
タイポったタイポった。。。
とにかくタイポってエラー続出。”path”が"pass"になっていることに気付くのに20分くらいかかった。
エラーを読んでもコードを読んでも何が悪いかわからない時は素直にコピペをしてみるといい。すると普通に通るから。気になる場合は元のコードをどっかに貼っておいてエラーが出なくなったコードと見比べればいいさ。あんまり気にし過ぎると疲れるし時間もったいないです。diffできるサイトがあるから貼っときますね。
Mergely - Diff online, merge documents
でもとりあえずはちゃんと写経するようにはしましょうね。
alignの読み方
cssで出てくる"align"の読み方が昔からわからなかったのでこの機会に調べた。
”アライン”だそうだ。”あーりん”かと思った。
演習
この章の演習は答えは書かれていなかったけど、最終的に全部テストが通るようになったから大丈夫なはず。
お手本みたいなコードが書かれてるからそれをそれぞれのテストに変えていくだけ。ここでもタイポしなければ普通に通るはず。
感想など
最初にも書いた通り、この章は楽しかった。初めて経験することばかりで「へぇ!すげえ!!」と感動しまくった。
あとこの章でもいろんなディレクトのいろんなファイルをメンテナンスしていったからだんだんアプリの構造が頭に入ってきた感じがする。全然まだまだだけど。ちょっとだけね。
あとRSpecのテストスイートってまさか、テストスイート = フォルダじゃないよねってbundle exec rspec spec/ を回してる時に少し心配した。まさかね。テストスイートが書かれたファイルとかあるよね。
いまいち何のことを言ってるのかわからない箇所はこの章にもずいぶんあった気がしますが、何とか前に進めてると思います。
次回の第6章は「ユーザーのモデルを作成する」だそうです。
MVCのMの部分ってとこかな?ユーザーのデータ構造的な話ですか?
それともユーザーのペルソナを考えてみようってことかな?ん?
というわけで今日はこの辺で。ではでは。
Ruby on Rails チュートリアル やってみてるシリーズ: