アプリケーションのひな型を生成
説明
アプリケーションの基本的な機能の一覧(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