Railsのテーブルの作成方法とモデル(継承したクラス)とは・・。「rails g model」「rails generate model..」の使い方

こんにちは。YOSHITAKA(@YOSHITA19704216)です。

初心者
Railsの@が出てくるんですが、これはなんですか??

よしたか
僕の学んだことを載せておきますね。

Progateを行っている際に忘れていたので、簡単に整理しておきました。

この記事を読むことで
  • Railsのテーブル作成とモデル言葉の意味が分かります。

Contents

Railsのテーブルとモデルの意味。継承とは

マイグレーションファイル作成

マイグレーションファイルは、データベースに変更を指示するためのファイルです。

 

postsテーブルを作成するマイグレーションファイルは、rails g model Post content:textというコマンドで作成することができます。

コマンド解説

$ rails g model Post content:text

↓ ↓ ↓ 分解すると

$ rails g model ⇒テーブル&モデルを作成

Post ⇒ posts(という名前の)テーブルを作成する。表記は、単数形にする。大文字にも注意。

content:text ⇒ カラム名:データ型

※「$ rails g model 」は 「$ rails generate model Post content:text」 でもOK

※カラム名は 表の縦列のことです。

※データ型は文字なのか、数字なのかで変わります。今回は文字を入力するデータ型を使ってます。(「text」は「長い文字列」を意味

データベースに変更を反映する

データベースに変更を反映するコマンドは、「rails db:migrate」を入力、実行します。

コマンドを実行すると、db/migrateフォルダの下にマイグレーションファイルが自動生成されます。

よくあるミス(エラー)

マイグレーションファイルを作成した場合は、必ず「rails db:migrate」を実行する必要があります。

そのため、データベースに値を追加したら必ず反映する癖をつけると良いでしょう。

※Railsでは、データベースに反映されていないマイグレーションファイルが存在する状態で、どこかのページにアクセスすると赤いページが表示され、マイグレーションエラーが発生してしまいます。

モデルという特殊なクラスも同時に作成できている

テーブルを操作するためのモデルと呼ばれる特殊なクラスを用いて、データベースを使います。

 

「rails g model」コマンドによって、Postモデルが定義されたファイル「post.rb」が、app/modelsフォルダの中に作成されています。

コマンド解説
class Post < ApplicationRecord 
end

※ Post < ApplicationRecord の右側が継承するクラスです。

ファイルの中には、ApplicationRecordクラスを継承するPostクラスが定義されています。

ApplicationRecordを継承したクラスを「モデル」と呼びます。

 

ここまでをまとめると・・・

一つのコマンド「rails g model Post …」のコマンドによって、2つのファイルが同時に作成されます。

  • app/modelsフォルダにモデルが定義されたファイル
  • db/migrateフォルダにマイグレーションファイル

まとめ

MVCモデルを考えて使うと混乱しますが、何度も行っていれば、徐々に理解できるようになります。

何度もプログラミング言語を学んでいきましょう。今回の記事は、参考程度に留めて下さい。

あなたは「Web集客」に限界を感じていませんか?

サイトをただ作るだけで満足ですか?

あなたのサービスやコンテンツはとっても有益なものがたくさんあります。

良いコンテンツも埋もれてしまっては全く意味がありません。

正しい知識と実践で、SEO対策はもちろん、ユーザビリティーを考えたサイトを作りませんか?

私と歩めばWebマーケティング知識とWordPressスキルが定着し、サイト回遊率、再訪問がアップします。

しかも、これだけでは終わりません!!

その先の「攻めのメディア」と組み合わせ、あなたのサービスを広めて売上を伸ばしていきます。

サイトを育てて、長い間愛されることのできるWordPressサイトからの集客導線(ゴールデンルート)を一緒に作りませんか?

↓ ↓ ↓ ↓ ↓ ↓ 

おすすめの記事