ControllerやModelをコマンドで作成する際に
単数形だっけ、複数形だっけ?となるのでまとめました
##概要
Railsでは、
基本理念の1つ CoC (Convention over Configuration, 設定より規約) が定義されています
CoCとは、初心者が意識しなくてもよく
熟考をしなくてよくなるだけでなく、より深い抽象化を育ててくれる
と、記事に書いてあります
引用記事
つまり、開発者の決定すべきことを減少させ、単純にするということ
##Controller編
複数のactionを持つため、複数系
種類 | 例 | 説明 |
---|---|---|
コントローラー名 | users | 複数形 |
ファイル名 | blogs_controller.rb | 複数形 |
コントローラークラス名 | UsersController | キャメルケース |
コマンド | rails g controller users | 複数形 |
app/controllers/users_controller.rb
class UsersController < ApplicationController
def index
end
end
##Model編
Modelは設計書のようなもの
設計書は1つなので単数形
テーブルには複数の情報が保持されているので複数形
マイグレーションファイルや、クラスはテーブルを作るものなので
それに関連して、同じく複数形
種類 | 例 | 説明 |
---|---|---|
モデル名 | user | 単数形 |
ファイル名 | blog.rb | 単数形 |
モデルクラス名 | User | 単数系、頭文字大文字 |
テーブル名名 | users | 複数形 |
マイグレーションファイル名 | ☓☓☓_create_users.rb | 複数形 |
コマンド | rails g model User | 単数形 |
app/models/user.rb
class User < ApplicationRecord
has_many :articles
end
db/migrate/2020☓☓☓_create_users.rb
class CreateUsers < ActiveRecord::Migration[5.2]
def change
create_table :users do |t|
t.string :name
t.string :email
t.timestamps
end
end
end
##View編
フォルダ配下に複数のViewファイルを持つため、複数形
種類 | 例 | 説明 |
---|---|---|
フォルダ名 | users | 複数形 |
##Routing編
Routingのリソース名はController名に基づいているため、複数形
種類 | 例 | 説明 |
---|---|---|
リソース名 | users | 複数形 |