動かざることバグの如し

近づきたいよ 君の理想に

Rails generateコマンド比較表

環境

Rails ジェネレーター種類大杉問題

rails scaffold 以外にもcontroller、model、さらにはscaffold_controllerやresourceなんてものもある。

scaffoldが一番使う機会が多いがすでにあるテーブルに対して追加でコントローラー生成したいということも少なくない。

いい感じの比較表が昔はあったんだが見つからなかったので自作した。

ジェネレーター Model Migration Controller Views Routes Model Test Controller Test Helper System Test JSON Views
scaffold
scaffold_controller
resource
controller
model
migration

controller は、引数でアクション名を渡したときだけ Views と Routes を自動生成するため △ にしている。

例えば rails g controller Users index show のようにアクションを指定すると、app/views/users/index.html.* などのテンプレートが作られ、同時に get "users/index" のようなルーティングも config/routes.rb に追記される。

一方で rails g controller Users のようにアクションなしで実行すると、作られるのはコントローラー本体とテスト類だけで、Views と Routes は増えない。

参考リンク