>  > 18インチジュークF15系WORK エモーション T7R アッシュドチタン 7.5Jx18NANOエナジー 3プラス 225/45R18
RMP/016F アルミホイール 4本セット クラウンマジェスタ 180系 【17×7.0J 5-114.3 INSET38 ブラッシュドフィニッシュ】

18インチジュークF15系WORK エモーション T7R アッシュドチタン 7.5Jx18NANOエナジー 3プラス 225/45R18

Tweet

Rails

18インチジュークF15系WORK エモーション T7R アッシュドチタン LM5 7.5Jx18NANOエナジー 3プラス 225/45R18 ローター径356×32

今回はRuby on Railsにおける命名規約について簡単に学んでいきましょう。
みなさんの学習の手助けとなれば幸いです。

Railsの基本理念の1つ CoC (Convention over Configuration, 設定より規約) の規約部分です。
初学の段階ではこのポイントを掴むことで学習がより効率的になります。

またプログラミングを学習する上でこの命名規約は非常に重要なポイントとなります ボルボ C30 215/45R18 ダンロップ WINTERMAXX WM02 ホイール :バラーレ 18×7.5 108/5 +52 3X164 輸入車 スタッドレス ホイールセット 4本。
それでは早速今回の学習に取り組んでいきましょう。

Ruby on Railsを用いた開発では、コントローラー名は複数系、モデル名は単数形で頭文字が大文字と、様々な命名規則があります。

この規則に基づいてファイルやクラス間の連携が機能しているため、命名規則を守って開発する必要があります。

下記rails gコマンドによって生成されるファイルを参考に、命名規則を覚えていきましょう グッドイヤー ベクター Vector 4Seasons Hybrid オールシーズンタイヤ 225/45R18 WEDS ウェッズ Leonis レオニス β GREILA グレイラ ホイールセット 4本 18インチ 18 X 7 +47 5穴 100。

rails g scaffold blog title:string content:text

Modelの命名規則

モデルクラスであるBlogは、オブジェクト指向における設計書に当たります。
Blogという設計書にtitlecontentという項目を設けています。
設計書は1つなのでモデルクラス名は単数形で表現されます。
この設計書をもとに同じ構成を持つインスタンスであるblogを作成していきます 。
このblogの情報を保存しているものがblogsテーブルです。
テーブルには複数のblogの情報を保存しているため、テーブル名は複数系で表現されます。
マイグレーションファイルやマイグレーションクラス名は、テーブルを作成するものです。
そのためテーブル名と同様に複数系で表現されます 155/65R14 75H BRIDGESTONE ブリヂストン Playz PX-C プレイズ PX-C weds LEONIS VX ウエッズ レオニス VX サマータイヤホイール4本セット。

種類 説明
モデル名 blog 単数系
ファイル名 blog.rb 単数系
モデルクラス名 Blog 単数系、頭文字は大文字
テーブル名 blogs 複数系
マイグレーションファイル名 xxxxxxxxxxxxxx_create_blogs.rb 複数系
マイグレーションクラス名 CreateUsers 複数系、頭文字は大文字

(blog.rb)

class Blog < ApplicationRecord
end



(xxxxxxxxxxxxxx_create_blogs.rb)

class CreateBlogs < ActiveRecord::Migration[5.1]
 def change
 create_table :blogs do |t|
 t.string :title
 t.text :content
 t.timestamps
 end
 end
end



Viewの命名規則

Viewのファルダ名はフォルダ配下に複数のViewファイルを持つため、複数形で表現されます。

種類 説明
フォルダ名 blogs 複数系

Controllerの命名規則

Controllerは複数のactionを持つため、複数系で表現されます。

種類 説明
コントローラ名 blogs 複数系
ファイル名 blogs_controller.rb 複数系
コントローラクラス名 BlogsController 複数系、頭文字は大文字

(blogs_controller.rb)

class BlogsController < ApplicationController
 before_action :set_blog, only: [:show, :edit, :update, :destroy]
<!-- 省略 -->
end



Routingの命名規則

Routingのリソース名はController名に基づいています ボルボ V70クロスカントリー SB系用 スタッドレス ダンロップ ウインターマックス02 WM02 215/65R16 98Q OZ MSW 85 マットチタニウムテック タイヤホイール4本セット。

18インチジュークF15系WORK エモーション T7R アッシュドチタン 7.5Jx18NANOエナジー 3プラス 225/45R18 店舗激安

18インチ サマータイヤ セット【適応車種:レガシィ B4(BN系)】WEDS レオニス MX パールブラックミラーカット/チタントップ 7.0Jx18プロクセス C1S 225/50R18;RS-R 車高調 Basic-i 推奨バネレート [イスト NCP60] RS★R・RS☆R・RSR 全長式車高調 代引き手数料無料&送料無料;NITTO ニットー NT555 G2 サマータイヤ 225/45R17 HotStuff Stich Legzas Fauvex シュティッヒレグザスフォーベックス ホイールセット 4本 17インチ 17 X 7 +48 5穴 114.3

18インチジュークF15系WORK エモーション T7R アッシュドチタン 7.5Jx18NANOエナジー 3プラス 225/45R18;【送料無料 ノア ヴォクシー】 215/45R18 18インチ YOKOHAMA ヨコハマ アドバンレーシング RGIII 7.5J 7.50-18 YOKOHAMA ヨコハマ エコス ES31 サマータイヤ ホイール4本セット フジコーポレーション;【店舗塗装サービス】【BENZ S W221 (2005/10~2013/10) ヴァルド】S-class W221 SPORTS LINE Black Bison Edition KIT PRICE (F.S.R) (~2009y) LED version SIDE STEP ショ-ト;X4 (F26) 14/8~用 18インチ 245/50R18 ヨコハマ アイスガード6 iG60 RMP 028F HMM スタッドレスタイヤホイール4本セット 新品 輸入車;【送料無料】 225/40R19 19インチ WORK ワーク ジースト ST2 8J 8.00-19 DELINTE デリンテ D7 サンダー(限定) サマータイヤ ホイール4本セット フジコーポレーション

CRS ESSEX ローダウンブロック 40mm(1.5inch) ハイエース 200系 2004年8月~ 1~4型 北海道・沖縄・離島は要確認, DUNLOP ダンロップ エナセーブ EC204 ENASAVE サマータイヤ 205/50R17 HotStuff クロススピードプレミアム RS-10 軽量 4本 ホイールセット 17インチ 17 X 7 +55 5穴 114.3, SARD スポーツキャタライザー ロードスター GF-NB8C/BP-ZE(6MT車)用【smtb-TD】【saitama】, 14インチ サマータイヤ セット【適応車種:ムーブ カスタム(L170系)】HOT STUFF プレシャス アストM1 メタリックブラック/ポリッシュ 4.5Jx14Bluearth AE-01 155/65R14, RS-R Ti2000 DOWN サスペンション T271TDF フロント レクサス GS450h GWS191 FR HV バージョンI 3500cc 2006年03月~ KRANZ(クランツ) ジガ・プラス GF335 フロント用 ブレーキパッド/欧州車用/スキール音軽減/ブレーキダスト軽減

そのためController名と同じく複数系で表現されます。

種類 説明
リソース名 blogs 複数系

(config/routes.rb)

Rails.application.routes.draw do
 resources :blogs
end



つけてはいけないモデル名

予約語

RubyRuby on Railsの仕様としてあらかじめ定義されている定数やクラス名があります。

これらを予約語といい、モデル名に使用することができません。

同名の定数やクラス名を作成するとソースコードを正しく解釈できなくなってしまうためです。

rails gでモデル名に予約語を指定すると下記のようなエラーが発生します。

$ rails g scaffold object title:string content:text 
Running via Spring preloader in process 15518
 invoke active_record
The name 'Object' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.

予約語の確認方法

次のようにrails cコマンドを実行することで予約語を確認することができます 『エルグランド』 純正 PE52 TE52 PNE52 TNE52 マジカルイルミネーション パーツ 日産純正部品 ELGRAND オプション アクセサリー 用品。

> Object.constants
 => [:Object, :Module, :Class, :BasicObject, :Kernel, :NilClass, :NIL, :Data, :TrueClass, :TRUE, :FalseClass, :FALSE, :Encoding, :Comparable, :Enumerable, :String, :Symbol, :Exception,
 (省略)
 :Fcntl, :Selenium, :Zip, :Find, :WebConsole, :Achieve, :Bindex, :Erubi, :PrettyPrint, :PP, :IPAddr, :OpenURI, :APP_PATH, :Exception2MessageMapper, :IRB, :RubyToken, :RubyLex, :RUBYGEMS_ACTIVATION_MONITOR]

アプリ名

rails new アプリ名とした場合、アプリ名モデル名にすることができなくなります。

$ rails g scaffold achieve title:string content:text 
Running via Spring preloader in process 15631
 invoke active_record
The name 'Achieve' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.

以上で命名規約に関しての説明を終了します。
初心者の方がよくつまづき、仕組みを理解できていないところであるので、今回で理解を深めていただけましたら幸いです。

Tweet
一覧にもどる

DIVE INTO CODEのことをもっと知ってみませんか?

{yahoojp} {diveintocode.jp}
{yahoojp}jpprem01-zenjp40-wl-zd-20572