>  > ステアリング【ランボ】LANBO オリジナルステアリング ノーマルグリップ [ウエイク LA700/710s] [カラー]カーボン調 LS158
小型トラック・バス[サマータイヤ205R15対応品]日電製鎖ハシゴ梯子型金属チェーン(タイヤ2本分)ゴムバンド付◆代金引換注文不可商品

ステアリング【ランボ】LANBO オリジナルステアリング ノーマルグリップ [ウエイク LA700/710s] [カラー]カーボン調 LS158

Tweet

Rails

ステアリング【ランボ】LANBO オリジナルステアリング ノーマルグリップ [ウエイク ホイール4本セット LA700/710s] [カラー]カーボン調 JP店 LS158

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

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

またプログラミングを学習する上でこの命名規約は非常に重要なポイントとなります ●グラージオ●50系 エスティマ リヤのみ ヒートレッド エンブレム VOLCANO ブラッシュドクローム。
それでは早速今回の学習に取り組んでいきましょう。

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

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

下記rails gコマンドによって生成されるファイルを参考に、命名規則を覚えていきましょう LY系MPV エアロキャリア INNO XS300 +TR119+XB108 XB108 ルーフレール無。

rails g scaffold blog title:string content:text

Modelの命名規則

モデルクラスであるBlogは、オブジェクト指向における設計書に当たります。
Blogという設計書にtitlecontentという項目を設けています。
設計書は1つなのでモデルクラス名は単数形で表現されます。
この設計書をもとに同じ構成を持つインスタンスであるblogを作成していきます 。
このblogの情報を保存しているものがblogsテーブルです。
テーブルには複数のblogの情報を保存しているため、テーブル名は複数系で表現されます。
マイグレーションファイルやマイグレーションクラス名は、テーブルを作成するものです。
そのためテーブル名と同様に複数系で表現されます PCX125 YSS ガスショック メッキ/メッキ 310mm オフセットタイプ KN企画。

種類 説明
モデル名 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名に基づいています デイトナ(DAYTONA)[96592] パイプエンジンガード CB1100用。

ステアリング【ランボ】LANBO オリジナルステアリング ノーマルグリップ [ウエイク LA700/710s] [カラー]カーボン調 LS158

LANBO オリジナルステアリング ノーマルグリップ [ウエイク LA700/710s] [カラー]カーボン調 LS158
メーカーランボ【LANBO】
メーカーコードLS158
カテゴリステアリング
適合代表車種※詳細な適合の事前確認はお問い合わせください。
お届け納期メーカー及び商品によって異なる為、お急ぎの方はお問い合わせください。
※ショッピングカート受注後でも納期確認後のキャンセルは可能です。
発送送料お届けの地域によって異なります。目安送料は ¥4,320円(税込) となります。
※個人のお客様への発送は追加料金が掛かる場合があります。ご自宅へ発送希望の方は予めお問い合わせください。
注意事項※商品画像は装着画像や塗装済みのイメージ画像の場合がございます。カラーが異なる場合もございますのでご注意ください。
※塗装が必要な外装品(エアロパーツ)は特性上下地処理が必要となります。表面の小傷等は不良ではございません。
※商品の装着後(塗装後含)のキャンセルはお受け致しかねます。商品が届きましたら必ず装着前にご確認をお願い致します。
商品タグLS158 LANBO オリジナルステアリング ノーマルグリップ [ウエイク LA700/710s] [カラー]カーボン調 LS158 ステアリング ランボ
詳細は・・・お気軽にお問い合わせください。

そのため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コマンドを実行することで予約語を確認することができます 【SSR】 EXECUTOR EX01 (エグゼキューター EX01) 18インチ 7.5J PCD:112 穴数:5 inset:31 フラットブラック [ホイール1本単位] [H]。

> 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