>  > RSR ダウンサス フロントのみ ソリオバンディット MA15S 24/6~ FF 1200 NA アイドリングストップ
レースチップ XLRコネクト スロットルコントローラ トヨタ ヴィッツ Vitz (P13) (ab 2010) エンジン1.5 Hybrid【RaceChip XLR Connect】品番1110

RSR ダウンサス フロントのみ ソリオバンディット MA15S 24/6~ FF 1200 NA アイドリングストップ

Tweet

Rails

RSR ダウンサス フロントのみ ソリオバンディット QP11 MA15S 24/6~ FF 1200 NA アイドリングストップ 全商品

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

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

またプログラミングを学習する上でこの命名規約は非常に重要なポイントとなります 【プロジェクトミュー】NS-C(エヌエス・シー) ニッサン アベニールサリュー AVENIR SALUT用 PW11, PNW11系 リヤブレーキパッド 品番:R214。
それでは早速今回の学習に取り組んでいきましょう。

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

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

下記rails gコマンドによって生成されるファイルを参考に、命名規則を覚えていきましょう HBJ-042 64コーチジャケット ネイビー XLサイズ HenlyBegins(ヘンリービギンズ)。

rails g scaffold blog title:string content:text

Modelの命名規則

モデルクラスであるBlogは、オブジェクト指向における設計書に当たります。
Blogという設計書にtitlecontentという項目を設けています。
設計書は1つなのでモデルクラス名は単数形で表現されます。
この設計書をもとに同じ構成を持つインスタンスであるblogを作成していきます 。
このblogの情報を保存しているものがblogsテーブルです。
テーブルには複数のblogの情報を保存しているため、テーブル名は複数系で表現されます。
マイグレーションファイルやマイグレーションクラス名は、テーブルを作成するものです。
そのためテーブル名と同様に複数系で表現されます 【送料無料】 185/60R16 16インチ TOPY トピー ドルフレン フィニート 6J 6.00-16 DUNLOP ダンロップ ルマン V(ファイブ) サマータイヤ ホイール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名に基づいています 17インチ サマータイヤ セット【適応車種:クラウンロイヤル(200系 全グレード)】WEDS ライツレー XS ブラックメタリックポリッシュ 7.0Jx17プロクセス C1S 215/55R17。

そのため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コマンドを実行することで予約語を確認することができます ウィッシュ ANE10G(2.0L)ZNE10G(1.8L) スポーツパッケージ KBマフラーシリーズ KB-SNIPER(ケービー・スナイパー) 【オールステン/片出し】 K-BREAK/ケイブレイク。

> 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