「script\generate scaffold」について、1(.2)系と 2.0系でちょっと違ってきてるわけだ。メインとなる引数まで違ってきてる。どういうことなんだろうか。取敢えずプロジェクトのはじめ方はそれぞれこんな感じになるのだと思う。
Rails 1.2.
- railsコマンドでプロジェクト作成、そしてDB設定とか
- モデルの作成、generate model <モデル名>
- コントローラ作成、generate contoroller <コントローラ名>
- generate scaffold <モデル名> <コントローラ名> で CRUD画面のテンプレートを生成
- <コントローラ名> は省略可能、その時はコントロールURLとしてはモデル名が採用される
- 以後はテンプレートをいろいろいじって下さい
Rails 2.0
- railsコマンドでプロジェクト作成、そしてDB設定とか
- モデルとコントローラとテンプレートを一気に作成 generate scaffold <モデル名>
まあなんだ、ちょっと趣きは異なっているけど、手数は減ってる。モデル名と CRUDコントローラ名が基本的に同じというのは CoC なんだよね。
なんか最初にテーブル定義をきっちり考えとかないと scaffoldコマンドが実行しちゃいけないような気がしたんだけど気のせいでした。1(.2)だって、最初のマイグレーションファイルはそんなもんだった。まあ、コマンドライン一行で書かないといけないのなんだけど、モデルを考えるとき、最初に想定すべき大事なフィールドは一行で収まるくらいのものだろうという指針でも掲げようか。
DBのフィールド定義は Rails的にどんどん追加・変更あり、それはどんどん従来どおり「generate migration」してけばいいだろう。
別に名のあるコントローラ(複数のモデルに関係するやつとかかな)を作りたければ従来どおり「generate controller」すればいいだろう。
という事で。