数日後にRails技術者認定資格試験を受けるにあたって、基本的な部分ではありますがそういった基本を問うような問題も多いと思われるので、改めてRailsの命名規則をまとめたいと思います。
今回はコントーラーやモデルを仮にUserをベースに考えてみたいと思います。
Controller命名規則
Controllerは複数形になり、UsersControllerになります。この命名規則に従うとresourcesなどのデフォルトのルーティングジェネレータがそのまま利用出来て、名前のルールが決まっているとソースを確認しなくてもrouteファイルにどんどんルーティング情報を書いて行くことが出来ます。
Model命名規則
Modelは単数形になり、Userになります。モデルには作成するインスタンスの情報を定義する設計書のような役割があり、インスタンスは複数でも設計書は1つなので単数形となる、と覚えます。
Routingの命名規則
resources :users
複数のルーティングを一度に作成するため複数形と覚えると良いかもしれません。
データベース関連の命名規則
Railsと関連づけて、データベースの命名規則についても確認しますが、データベースに関してテーブル名、マイグレーションファイル名は複数形になります。データベースは基本的に複数のカラムを持つためテーブル名が複数形になり、そのテーブルを操作するマイグレーションファイルも複数形になると考えます。
最後に
命名規則は守らないと直ちにエラーが起こるという訳ではなく、実際にも意図があってコントローラー名が単数形になっていたりすることもありますが、せっかくRailsというシステムの恩恵を受けて効率良く開発が出来る部分が大きいと思いますので、よほどの意図がない限りは素直にRailsの命名規則には従った方が良いと思われます。