いつも忘れる「Railsのgenerateコマンド」の備忘録

本当にいっっつも忘れる(T-T) ので、よく使うコマンドだけメモ
なお、網羅的な解説は以下のサイトがよくまとまっている!
railsコマンド(rails) - Railsドキュメント

はじめに

全てのrailsコマンドは-h (or --help)オプションでヘルプが見れる

$ rails -h
$ rails generate -h
$ rails generate scaffold -h

generateのショートカットはg

$ rails g scaffold

generateは-p, [--pretend]でドライランできる

$ rails generate scaffold AdminUser name:string mail:string -p

generateで生成したファイルを削除するにはdestory

$ rails destroy AdminUser

主要generateコマンドで生成されるファイル

デフォルトでは(オプションを与えなければ)、以下のようにファイルが生成される

コマンド名 コントローラ ビュー モデル マイグレーション アセット ルート テスト ヘルパー
scaffold
scaffold_controller × × × ×
controller × ×
model × × × × ×
migration × × × × × ×

scaffold

全部入り

$ rails generate scaffold NAME [field[:type][:index] field[:type][:index]] [options]
NAME モデル名 (単数系)。under_score記法とCamelCased記法どちらでもよい
field カラム名
type
index インデックス(uniqueかindex)
options オプション

$ rails generate scaffold AdminUser name:string mail:string

scaffold_controller

コントローラとビューをデフォルトのアクション(index〜destroyの計7つ)で生成する

$ rails generate scaffold_controller NAME [options]
NAME モデル名(単数系)。under_score記法とCamelCased記法どちらでもよい。
options オプション

$ rails generate scaffold_controller AdminUser

controller

コントローラとビューを生成する

$ rails generate controller NAME [action action] [options]
NAME コントローラ名(単数系か複数系かは用途に合わせて )。under_score記法とCamelCased記法どちらでもよい
action アクション
options オプション

$ rails generate controller AdminUsers index show

model

モデルとマイグレーションを生成する

rails generate model NAME [field[:type][:index] field[:type][:index]] [options]
NAME モデル名 (単数系)。under_score記法とCamelCased記法どちらでもよい
field カラム名
type
index インデックス(uniqueかindex)
options オプション

$ rails generate model AdminUser name:string mail:string

migration

マイグレーションを生成する

$ rails g migration NAME [field[:type][:index] field[:type][:index]] [options]
NAME マイグレーション
field カラム名
type
index インデックス(uniqueかindex)
options オプション

$ rails generate migration AddGroupIdToAdminUsers group_id:integer
マイグレーション実行
$ rake db:migrate

終わり

他にもmailerやintegration_testなどの生成コマンドがあるが、自分はあまり使わないので、必要になったら!