Rails scaffoldについてあれこれ

http://www.cinemacafe.net/img/template/200612/061214drama_main.jpg
先日のRoR配信では、scaffoldを用いず、自力でcontrollerやら書きました。どうせ簡単だろうと試しにscaffoldを利用して0から書き直してみると、意外とはまったので言わせてください。
scaffoldというのはRailsの1つの機能で、端的に言えばアプリケーションの雛形を作ってくれるものです。RailsアプリケーションはModel・View・Controller、すなわちMVCという3つの概念から構成されます。Modelはデータベース、Controllerは処理、Viewはこの橋渡し・表示によく言い換えられます。実際のコーディングでもこれら3つを、それぞれ並行して作っていきます。scaffoldはこの下準備を勝手にしてくれるのです。

またscaffoldは、Rails風の書き方を教えてくれるチュートリアルでもあります。scaffoldによって生成されたコードを読み、適当な部分を修正していくことから開発は進みます。そう言った面もあり、scaffoldはRailsの中でも特に重要な機能です。Railsのバージョンが上がるごとに、そのfeatureをいち早く導入しているのです。

が、ここで問題です。僕の掲示板で次のレスをいただきました。

というか探して出てくる記事が2007年とかのはなんでだw
いい意味で捉えるとrailsはもう枯れた技術ってことなのか?w 

枯れたにしては、Railsを扱った文献やサイトが少ないですね。最新のscaffoldについて説明しているものなんて特に貴重です。貴重なだけにあまり大きな声では言えませんが、scaffoldは以前のものと恐ろしく違っているという部分があるので、解説を書く場合はバージョンを明記してほしいです。そのせいで僕も結構はまりました。新しいものと古いものが混在していて、これからRailsを学びたいと思う人にとっては大変です。


ということで現在僕が使っているのはRails 2.3.4ですが、参考にさせていただいたエントリを紹介します。

2.xx系のRails scaffoldを概観しています。migrationファイルの記述についても書かれています。

こちらも2.xx系のscaffoldについて解説されています。特にroutingに関して参考になりました。map.resourcesを記述することで、PUTやDELETEのようなリクエストメソッドもroutingに使えるようになり、さらに各アクションへのリンクを表すattributeなんかも使えます。


2.xxのscaffoldが示したrestfulな道に従うとすれば、Modelに関係するものはscaffoldで、関係しないものは自力で作るのが良いのかなぁ。Modelを扱う場合は手っ取り早くCRUDアクションを作りたいわけですし、ただViewとControllerだけで良い場合のscaffoldはコスト高いですし。お寿司。