Railsドキュメント

アプリケーションのひな型を生成

説明

アプリケーションの基本的な機能の一覧(index)、詳細(show)、新規作成(new/create)、編集(edit/update)、削除(destroy)するために必要なコントローラ、モデル、ビューをまとめて生成

使い方

$ rails generate scaffold 名前 [カラム名:型[:index]..] [オプション]

オプション

オプション 説明 デフォルト値
–skip-namespace namespaceの生成をスキップ  
–skip-collision-check コリジョンチェックをスキップ  
–force-plural 指定されたモデル名を強制的に使用  
-o, –orm=NAME 呼び出されるORMを指定 active_record
–model-name=MODEL_NAME 使用するモデル名  
–resource-route リソースルートを生成するか true
–api APIを生成するタイミング  
-c, –scaffold-controller=NAME 呼び出されるScaffoldコントローラ scaffold_controller
–migration migrationファイルを生成するか true
–timestamps timestampsファイルを生成するか true
–parent=PARENT 生成されたモデルの親クラスを指定  
–indexes belongs_toカラムにインデックスを付与するか true
–primary-key-type=PRIMARY_KEY_TYPE 主キーのタイプ  
-db, –database=DATABASE データベースの種類 sqlite3
-t, –test-framework=NAME 呼び出されるテストフレームワークを指定 test_unit
–fixture フィクスチャファイルを生成するか true
-r, –fixture-replacement=NAME 呼び出されるフィクスチャを指定  
–system-tests=SYSTEM_TESTS システムテストを指定 test_unit
–helper helperファイルを生成するか true
–skip-routes config/routes.rbへのルート追加をスキップ  
-e, –template-engine=NAME 呼び出されるテンプレートエンジンを指定 erb
–jbuilder jbuilderファイルを生成するか true
-f, –force ファイルが存在する場合に上書き  
-p, –pretend ドライラン  
-q, –quiet 進捗情報を非表示  
-s, –skip 既に存在するファイルはスキップ  
-h, –help ヘルプ  
-v, –version バージョンを表示  

カラムの型

データ方 説明
string 文字列
text 長い文字列
integer 整数
float 浮動小数
decimal 精度の高い小数
datetime 日時
timestamp より細かい日時
time 時間
date 日付
binary バイナリデータ
boolean Boolean型

生成されるファイル

ファイル 説明
db/migrate/YYYYMMDDHHMMSS_create_xxxes.rb マイグレーションファイル
app/models/xxx.rb モデルファイル
app/controllers/xxxes_controller.rb コントローラファイル
app/views/XXXs/index.html.erb すべてのリストを表示
app/views/XXXs/edit.html.erb 編集ファイル
app/views/XXXs/show.html.erb 詳細ページ
app/views/XXXs/new.html.erb 新規ページ
app/views/XXXs/_form.html.erb フォーム用ページ
app/views/xxxes/_xxx.html.erb  
app/helpers/xxxes_helper.rb ヘルパー
test/models/xxx_test.rb モデルテスト
test/fixtures/xxxes.yml フィクスチャテスト
test/controllers/xxxes_controller_test.rb コントローラテスト
test/system/xxxes_test.rb システムテスト
app/views/xxxes/index.json.jbuilder Jbuilderファイル
app/views/xxxes/show.json.jbuilder Jbuilderファイル
app/views/xxxes/_xxx.json.jbuilder Jbuilderファイル

最小の引数

$ rails generate scaffold post

属性を指定

$ rails generate scaffold post title:string body:text published:boolean