scaffoldで遊ぶ

DBの接続、テーブルの設計、と来て、いよいよrailsでの実装です(長かったー)。
まずは、railsといえばコレだろう? ってことでscaffoldを使ってみます。


scaffoldとは、日本語訳すると「足場」という、その名のとおり、アプリの土台をコマンド一発で作ってくれるとんでもない仕組みのことです。

具体的にはテーブルのCRUDにあたる部分を自動生成してくれます。
ウェブ系のプログラミングを最初にやるにあたって、一番基礎的なところになるのが、このテーブルのCRUDなので、その辺をすっ飛ばしてくれるというわけですね。

自分がJavaで初めてやったときは、DBアクセスからひーひー言ってただけに、この機能は脅威以外の何者でもありません。
ですが一方で、あの苦労が一瞬にして実現される、というのはある種楽しみでもあるので、早速やってみましょう。

RadRailsの場合、ジェネレータのパースペクティブで作成します。
引数などはコマンドラインと同じ要領ですね。
一つめがモデル、二つめがコントローラです。

今回は、左側のプルダウンで「scaffold」を選択し、右側には「Category Admin」と入力して、「実行」ボタンをぽちっと行ってみます。

これで

CODE:
  1. ruby script/generate scaffold Category Admin

を代わりに実行してもらった、っていうわけですね。

無事に終わると、RadRailsのコンソールでも作成が済んだことを示すメッセージが出るかと思います。
エクスプローラーを見てみると、ファイルもばっちり増えています。
それを確認したら早速サーバーを起動させて、どうなったか見てみます。

サーバーのパースペクティブで、プロジェクトのサーバーを選択して、再生ボタン(緑の三角いのね)をぽちっと押して、サーバーを起動させます。
起動したら状況が「Started」に変わるので、それを見届けたらブラウザからURLを入れてみます。

http://localhost:3000/admin/

うまくいっていれば、こんな画面が出るかと思います。

scaffold

少しいじってみるとわかりますが、もうこれでCRUDの基本的なところは終わりです。
文章にすると長いですが、作業量的には5分以下です。
昔、Javaで調べながらやっていたときはそれぞれに一日近くかけていたので、3日くらいはかかっていました。
このスピードはいつやっても衝撃的です :dizzy:

というわけで、衝撃的ついでにもうひとつscaffoldを追加しておきます。
同じく左側に「scaffold」、右側に「Item User」と入れて実行します。
これでhttp://localhost:3000/user/も見られるようになりました。
前回作成した、両方のテーブル(商品テーブル・カテゴリーテーブル)のCRUDができたわけです。

ちなみに、余談ですが。
scaffoldを含め、ジェネレータを使って作成するときに入力を間違えることもあろうかと思います。
そんなときは下にある「消滅」のラジオボタンを選択して、間違えて作ってしまったのと同じものを入力して、実行ボタンを押してみましょう。

「ruby script/destroy」というコマンドが走り、間違えて自動生成されたファイルをきれいさっぱり消してくれます。
たとえば、最初に作ったscaffoldにこれを使ったら、こんなコマンドが走ってるってことですね。

CODE:
  1. ruby script/destroy scaffold Category Admin

ここまでで、今回のまとめ。

  1. 「ruby script/generate scaffold モデル名 コントローラ名」でCRUDの操作ができるテンプレートが作成できる。
  2. 逆にテンプレートを削除したいときは「ruby script/destroy scaffold モデル名 コントローラ名」。
  3. 一瞬でできるscaffoldはなんだかんだ言っても楽しい。
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加 |

0 Responses to “scaffoldで遊ぶ”


  1. No Comments

Leave a Reply