【Ruby on Rails】Railsコマンドまとめ（初学者用）

#はじめに
Rails 初心者用。
よく使うコマンドをまとめてみた。

#コマンド一覧

##rails new
railsで新しいアプリケーションを作成する際に使用するコマンド

```terminal
$ rails new [アプリケーション名] -オプション
```



##rails generate controller
`rails generate controller [コントローラ名]`でページを表示する為に必要なファイルを生成する。
コントローラとかビュー。それに伴ってルーティングも作成される。
モデルを扱うコントローラの場合、コントローラ名はモデル名を複数形にしたものを付ける場合が多い。
※「generate」の部分は「g」と省略可能。　→　rails g controller

```terminal
$ rails g controller Microposts
Running via Spring preloader in process 2457
      create  app/controllers/microposts_controller.rb
      invoke  erb
      create    app/views/microposts
      invoke  test_unit
      create    test/controllers/microposts_controller_test.rb
      invoke  helper
      create    app/helpers/microposts_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    scss
      create      app/assets/stylesheets/microposts.scss
```

##rails generate migration
`rails generate migration [マイグレーションファイル名]`でマイグレーションファイルを生成する。
マイグレーションファイルとは、データベースのテーブルの情報を変更する際に使用するファイル。
※「generate」の部分は「g」と省略可能。　→　rails g migration

```terminal
$ rails g migration [マイグレーションファイル名]
```

##rails generate model
`rails g model [モデル名]`でモデルファイルとマイグレーションファイルを生成する。
モデルファイルは、コントローラから受け取ったデータをデータベースに渡したり、反対にデータベースからの情報をコントローラに渡したりする役割がある。
※「generate」の部分は「g」と省略可能。　→　rails g model

```terminal
$ rails g model Micropost
Running via Spring preloader in process 1194
      invoke  active_record
      create    db/migrate/20210101075338_create_microposts.rb
      create    app/models/micropost.rb
      invoke    test_unit
      create      test/models/micropost_test.rb
      create      test/fixtures/microposts.yml
```
modelを削除する場合は、`rails d model [モデル名]`で削除することができる。
`rails generate model [モデル名]`で作成した全てのファイルを削除することができる。

```terminal
$ rails d model Micropost
Running via Spring preloader in process 1223
      invoke  active_record
      remove    db/migrate/20210101075338_create_microposts.rb
      remove    app/models/micropost.rb
      invoke    test_unit
      remove      test/models/micropost_test.rb
      remove      test/fixtures/microposts.yml
```
##rails server
`rails server`コマンドでrails サーバーを起動する。
[control]+[C]でサーバを止められる。
※「server」の部分は「s」と省略可能。　→　rails s

```terminal
$ rails s
=> Booting Puma
=> Rails 6.0.3.4 application starting in development 
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.7 (ruby 2.6.6-p146), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Use Ctrl-C to stop
```

##rails console
`rails console`コマンドでコンソールを起動することができる。
オプションで「--sandbox」をつけると、データベースに変更を与えないようにすることができる。
※「console」の部分は「c」と省略可能。　→　rails c

```terminal
$ rails c
Running via Spring preloader in process 7901
Loading development environment (Rails 6.0.3.4)
irb(main):001:0> 


$ rails c --sandbox
Running via Spring preloader in process 7863
Loading development environment in sandbox (Rails 6.0.3.4)
Any modifications you make will be rolled back on exit
irb(main):001:0> 
```

##rails routes
`rails routes`コマンドでルーティング情報を確認できる。以下詳細。
prefix           :名前付きルート
Verb             :HTTP動詞
URI Pattern      :パス
Controller#Action:コントローラ＃アクション

```terminal
$ rails routes
Prefix    Verb     URI Pattern             Controller#Action
root      GET      /                       static_pages#home
help      GET      /help(.:format)         static_pages#help
about     GET      /about(.:format)        static_pages#help

```