LoginSignup
8
8

More than 3 years have passed since last update.

Rails それぞれの命名規則をまとめみた

Posted at

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 複数形

参考記事

8
8
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
8
8