前回失敗したscafoldによる雛形の作成にもう一度挑戦してみました。前回の失敗の原因は参考にしていたサイトと自分の環境のRailsのバージョンの違いによるものだと判明。実はRails 2系列ではscaffoldの使い方が少し変わったようです。
では作って行きましょう。今回作るのは簡易アドレス帳にしてみました。といってもscaffoldで雛形を作るまでにします。
まず、以下のコマンドでおもむろにプロジェクトを作りましょう。
# rails -d mysql addressbook # cd address
これで必要なファイルが自動的に作られます。作成されたディレクトリの中に移動しておきましょう。
Rails 2.0.0でデフォルトのデータベースがsqlite3になってしまったのでmysqlに変更しています。
次にデータベースの設定をするのがいままでのやり方だったみたいですが、Rails 2ではここでscaffoldを実行してしまいます。
# ./sript/generate scaffold people name:string tel:integer mail:string
ここではname:stringなどと後ろにくっつけることでmigrate用の定義を自動でしてくれます。
下地が出来たのでrakeを使ってmigrateします。このときデータベースも一緒に作ります。(これがクールすぎる)
# rake db:create # rake db:migrate
なんとこれで既に動くアドレス帳が出来ています。簡単すぎる。
これだけだと味気ないのでconfig/routes.rbをいじってルーティングを変えておきましょう。
map.connect "", :controller => "peoples"
これでサーバにアクセスするだけでアドレス帳が表示されるようになりました。
ではサーバを立ち上げて動作を確認しましょう。
./script/server
ブラウザでhttp://localhost:3000/にアクセスします。
じゃじゃーん。完成です。
すごくシンプルですが、これだけの登録、修正、削除ができるWEBアプリが出来てしまいました。
これをがりがり修正するだけでもある程度のものが出来そうです。
簡単!
追記
デフォルトのトップページを消す作業を書き忘れていました。
# rm public/index.html
で消しておいてください。