プロジェクト作成

$ rails new プロジェクト名
($ rails new プロジェクト名 -d mysql)
$ cd プロジェクト名
$ rails webpacker:install
$ vi config/webpacker.yml
#  check_yarn_integrity: true

自動生成

コントローラ作成
$ rails g controller top index

モデル作成
$ rails g model space subdomain:string name:string
モデル作成(リレーション含む)
$ rails g model space_user space:references user:references
※作成したモデルにbelongs_toが追加される。
※必要に応じて、相手のモデルにhas_manyを追加。一緒に消したい場合は「dependent: :destroy」も追加。
> class Space < ApplicationRecord
>   has_many :space_user, dependent: :destroy
> class User < ApplicationRecord
>   has_many :space_user

migrateファイル作成
$ rails g migration AddLabelToInfomations

scaffold(モデル作成とコントローラの雛形作成)
$ rails g scaffold space subdomain:string name:string

メーラー作成
$ rails g mailer user_mailer

タスク作成
$ rails g task user

ジョブ作成
$ rails g job message

単数・複数形変換

$ rails c -s
> "space".pluralize
 => "spaces"
> "spaces".singularize
 => "space" 

DB操作

マイグレーション
$ rails db:migrate
($ rails db:migrate RAILS_ENV=production)

バージョン確認
$ rails db:version
状態確認
$ rails db:migrate:status

1つ前に戻す
$ rails db:rollback

やり直し(レコードも消える)
$ rails db:migrate:reset

初期データ作成
$ rails db:seed
($ rails db:seed RAILS_ENV=production)

その他

ルーティング確認
$ rails routes

コンソール
$ rails c
コンソール(サンドボックス=変更が反映されない)
$ rails c --sandbox

タスク確認
$ rails -T
($ rake -T)

push前に

動作確認
$ rails s
-> http://localhost:3000/
-> http://localhost:3000/rails/mailers

自動テスト
$ rspec ファイル名(省略ですべて)

静的コード解析
$ rubocop ファイル名(省略ですべて)
自動補正
$ rubocop -a ファイル名(省略ですべて)
現在のエラーを暫定的に無効化(.rubocop_todo.yml作成。更新も可)
$ rubocop --auto-gen-config

ドキュメント生成
$ yard
$ open doc/index.html
または
$ yard server --reload
-> http://localhost:8808/

セキュリティチェック
$ brakeman
現在のエラーを暫定的に無効化(brakeman.ignore作成。更新も可)
$ brakeman -I
Input file: |~/config/brakeman.ignore| 
?  1	<- Inspect all warnings
Action: (i, n, k, u, a, s, q, ?) i	<- Add warning to ignore list
Remove fingerprint?
?  1	<- Save changes
Output file: |~/config/brakeman.ignore| 

参考サイト

実装関連

テスト関連

デザイン関連