30
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Rails】rails generate(rails g)コマンド一覧

Last updated at Posted at 2023-04-06

はじめに

rails generateをするときに、どんなファイルが作成されるのかなど毎回調べてしまっていたため、主に使っているものを自分でまとめます。

※rails generateは全て、rails g と省略します。

自動作成されるファイルまとめ

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

コマンド一覧

rails g model

[モデルの作成]

$ rails g model User name:string

Userモデルを作成し、nameカラムをstring型で追加します。
マイグレーションファイルも作成されるので、後からでもカラム等の編集は可能です。

[作成されるファイル]

invoke  active_record
      create    db/migrate/yyyymmddhhmmss_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml

rails g controller

[コントローラーの作成]

$ rails g controller Users home

Usersコントローラーを作成し、homeアクションを追加します。
作成されたコントローラーから、アクションの編集は可能です。
編集した場合、ルーティングは必ず設定します。

[作成されるファイル]

create  app/controllers/users_controller.rb
       route  get 'users/home'
      invoke  erb
      create    app/views/users
      create    app/views/users/home.html.erb
      invoke  test_unit
      create    test/controllers/users_controller_test.rb
      invoke  helper
      create    app/helpers/users_helper.rb
      invoke    test_unit

rails g scaffold

[モデルの作成(scaffold)]

$ rails g scaffold User name:string

Userモデルを作成し、nameカラムをstring型で追加します。

[作成されるファイル]

invoke  active_record
      create    db/migrate/yyyymmddhhmmss_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml
      invoke  resource_route
       route    resources :users
      invoke  scaffold_controller
      create    app/controllers/users_controller.rb
      invoke    erb
      create      app/views/users
      create      app/views/users/index.html.erb
      create      app/views/users/edit.html.erb
      create      app/views/users/show.html.erb
      create      app/views/users/new.html.erb
      create      app/views/users/_form.html.erb
      create      app/views/users/_user.html.erb
      invoke    resource_route
      invoke    test_unit
      create      test/controllers/users_controller_test.rb
      create      test/system/users_test.rb
      invoke    helper
      create      app/helpers/users_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/users/index.json.jbuilder
      create      app/views/users/show.json.jbuilder
      create      app/views/users/_user.json.jbuilder

rails g scaffold_controller

[コントローラーの作成(scaffold)]

$ rails g scaffold_controller User home

Usersコントローラーを作成し、homeアクションを追加します。

[作成されるファイル]

create  app/controllers/users_controller.rb
      invoke  erb
      create    app/views/users
      create    app/views/users/index.html.erb
      create    app/views/users/edit.html.erb
      create    app/views/users/show.html.erb
      create    app/views/users/new.html.erb
      create    app/views/users/_form.html.erb
      create    app/views/users/_user.html.erb
      invoke  resource_route
       route    resources :users
      invoke  test_unit
      create    test/controllers/users_controller_test.rb
      create    test/system/users_test.rb
      invoke  helper
      create    app/helpers/users_helper.rb
      invoke    test_unit
      invoke  jbuilder
      create    app/views/users/index.json.jbuilder
      create    app/views/users/show.json.jbuilder
      create    app/views/users/_user.json.jbuilder

rails g migration

[マイグレーションファイルの作成]

$ rails g migration add_column_to_User

add_column_to_User という部分はマイグレーションファイル名を表します。
何を記載しても問題ありませんが、行いたいことを記載すると分かりやすいです。

[作成されるファイル]

invoke  active_record
      create    db/migrate/yyyymmddhhmmss_add_column_to_user.rb

rails destroy

[作成したものを削除]

$ rails destroy User

Userモデルを削除します。
controllerでもscaffoldでも使用できます。

#終わりに
migrationファイルの中身も、書き方がわからなくなることが多いので、
別でまとめようと思います。

お読みいただき、ありがとうございました!

30
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?