Scaffold
Scaffoldは数行のコマンドによりデータベース内のデータを保守するためのプログラムを生成する機能です。
データベースを利用する足場ということで、Scaffoldスキャフォールドと呼んでいます。
1.プロジェクトの生成
・NetBeansで[新規プロジェクト]を選択します。
[ステップ1]プロジェクトを選択
カテゴリ(C): Ruby
プロジェクト(P): Ruby on Rails アプリケーション
[ステップ2]名前と場所
プロジェクト名(N): proj001
プロジェクトの場所(l): D:\Rails_Projects
プロジェクトフォルダ(D): D:\Rails_Projects\proj001
Rubyプラットフォーム(P): Ruby 1.8.7-p72
サーバー(S): WEBrick
[ステップ3]データベース構成
データベースアダプタ(P): mysql
データベース名(D): proj001_development
ユーザー名(M): root
パスワード(W): *******
[ステップ4]Railsのインストール
Railsのバージョン: 2.2.2
2.日本語環境の設定
・/config/environment.rbの編集
・/app/controllers/application.rbの編集
3.データベースの作成
4.モデルの作成
住所録テーブルAddressを作成します。
・NetBeansで[生成]を選択
・Railsジェネレータでmodelを作成
ジェネレート(G):model
引数(A):Address (モデル名の先頭文字は大文字とすること)
・テーブル作成プログラムの実装
/db/miggrate/yyyymmddhhmmss_create_addresses.rbの編集
/db/miggrate/yyyymmddhhmmss_create_addresses.rb |
|
5.マイグレーションの実行
[データベースマイグレーション]より[現在のバージョンへ]を選択する
6.テーブル保守プログラムの作成
テーブルの追加削除変更のプログラムを一から作ることは可能ですが、それなりに時間が必要です。
しかしRailsには一発でそのプログラムを生成してしまうScaffold機能を内蔵しています。
ここではそれを利用します。
・Scaffoldの実行
NetBeansで[生成]を選択します。
ジェネレータ(G): scaffold
モデル名(M): Address
属性ペア(フィールド型)(A):namae:string yubin:string jusho:string denwa:string
7.生成されたプログラムの実行
・ブラウザからhttp://127.0.0.1:3000/addresses/で起動します。
・New addressをクリックしてデータを数件入力しましょう。
8.URLとアクションの対応付け
Scaffoldで生成されたコントローラの中身を覗くと次のアクションが実装されていることが分かります。
index / テーブルの一覧表示
show / レコードの表示
new / レコードの新規登録
edit / レコードの編集
create / レコードの新規登録実行
update / レコード編集の実行
destroy / レコードの削除
RailsではURLとコントローラ、アクションがデフォルトで対応付けられています。
http://127.0.0.1:3000/controller/action/
なお、/config/routes.rbでこの対応をカスタマイズすることができます。