scaffoldをgenerateしてみる
とりあえず、コントローラとscaffoldがgenerateできれば、簡単なアプリなら作れそうかな?
scaffoldは、直訳すると「土台」
なんで土台か分からないけども、データベースへのレコード追加/削除/修正できるものが自動で生成されるらしい。
Rails2.0以降は、scaffoldのgenerateで、modelもmigrationも生成されるようなので楽になったらしい。
なにがどう楽になったのかはサッパリだけど、楽になってるなら楽な方を使っちゃう。
使い方は、
>ruby script/generate scaffold ModelName [field:type, field:type]
helpだと抜けているけども、optionは
>ruby script/generate scaffold [options] ModelName [field:type, field:type]
のモヨウ。
option
お約束の
- -v, --version
- -h, --help
- -p, --pretend
- -f, --force
- -s, --skip
- -q, --quiet
- -t, --backtrace
- -c, --svn
に加えて、
- --skip-timestamps
- 自動で追加される作成日時・更新日時のfieldを追加しない
- --skip-migration
- migrationファイルを生成しない
といったoptionもある。
field:type
- field
- テーブルの項目
- type
- 項目のタイプ
を、scaffoldをgenerateする時点で指定しないといけないらしい。
指定しなくてもエラーとかは出ないけど、中身のないtableがデータベースに作成されるだけ。
あとからfieldの追加はできるだろうけども、二度手間になるのでココで指定しちゃうほうが賢い。
具体的には、
name:string comment:text weight:integer ...
てな具合。
typeの種類はよくわからないけども、いろいろあるみたい。
scaffoldをgenerateすると、
- コントローラー
- ビュー
- モデル
- migrationファイル
- その他もろもろ
が生成される。