空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

DHH 進捗

Agile Web Development With Rails: A Pragmatic Guide (The Facets of Ruby Series)

Agile Web Development With Rails: A Pragmatic Guide (The Facets of Ruby Series)


Chapter 9 を読む。オンラインショッピングの Order の仕組みを構築。エラー出力用の便利関数,component system の一機能を使用。今のところ,DHHえもんのポッケから,色々出てくるの関数を試してみるだけの,のび太くん状態である。でもじょじょに,最初は魔法のように思えた script/generate scaffold が何をしていたのか,少しだけ分かってきた。全体的に,chapter 9 はあまり内容は濃くなかった。一気に chapter 13 まで高飛びしたい気持を抑えて,淡々とすすむ。
Chapter 10 にすすむ。データベースに Date と TimeStamp 型のコラムを付ける時は,それぞれ _at(date)や _on(timestamp)で終わる名前にしなければ行けないようだ。少なくともこうしておくと,後でいいことがあるらしい。このように,わりと厳しい命名規則を課すのは「Convention Over Configuration」という Rails のデザインの根底を流れる思想の一つで,開発効率向上に寄与すると考えられている。
DDL でデータベースの構造を記述しておいて,その都度,drop して再構築するやり方も,単なる工夫だけど覚えると非常に便利だと思えるようになってきた。そろそろ毎回 DB 作り直して,商品を入力するのが面倒くさひなぁ…と思っていたら,再構築と同時にサンプルデータをセットしておく方法が紹介してあった。分かってるじゃないか David!(いつの間にか,ため口)。注文を受けた商品を発送したかどうかをフラグで持つのではなく,タイムスタンプでもつ,というノウハウも気が利いている。この変なこだわり方(を自著の中にちりばめてしまう所も),A 型人間の臭いがするけど,どうなんだろう。
他の action に対応した view を取り込む component system(?)とは別に partial template という概念も紹介されていた。partial template は特殊なビューで,_(アンダースコア)から始まるファイル名で view のディレクトリに保存する。ふむふむ。scaffold で作成される _form.rhtml というファイルも,どうやら partial template だったというわけか。後は,Rails におけるフォームの使い方を少々。Chapter 10 で実装した ship という action は ship を invoke する,loop back な action。その場合は flash じゃなくて flash.now を使わねばならないらしいが,まだこの辺シーケンスが分かっていないようだ。うーむ。
これまでの進捗
DHH

ところで,DHH 本はとっくに日本語版がでていたようです。僕は英語版をお勧めしますが。

RailsによるアジャイルWebアプリケーション開発

RailsによるアジャイルWebアプリケーション開発